草庐IT

search_records

全部标签

ruby-on-rails - 即使设置了错误,Rails Record 也会被保存

这是我的凭证模型:classCredential我正在检查Controller中的证书并在Controller中设置错误,如下所示:defcreateattachment=params[:credential][:cert_file_path]cert_file_path=Rails.root.join('private','certificates',attachment.original_filename)ifattachment.present?@credential=Credential.new(credential_params)@credential.cert_file_p

ruby-on-rails - pg_search 使用 associated_against 给出错误 "column [model_name].[associated_column_name] does not exist"

我正在尝试使用pg_search来搜索关联模型。当我运行搜索时,出现错误“PG::Error:ERROR:columnplans.namedoesnotexist”。我正在“计划”模型中运行搜索,并尝试针对“地点”与列“名称”的关联进行搜索。连接这些的has_many:through模型是多态的。不知何故,sql查询将两者结合起来并抛出错误。我已经运行了associated_against迁移(railsgpg_search:migration:associated_against),搜索了文档,并寻找其他有错误的人,但一无所获,一定是我只是忽略了一些东西。如果我只是删除plan.rb

ruby-on-rails - Rails 国际化 : %{record} is not being translated

我的rails.pt-BR.yml上有这个:br:errors:format:!'%{attribute}%{message}'messages:restrict_dependent_destroy:one:"Nãoépossívelexcluiroregistropoisexisteum%{record}dependente"many:"Nãoépossívelexcluiroregistropoisexistem%{record}dependentes"在我的模型中,我有这个:has_many:entities,dependent::restrict_with_error每当res

ruby-on-rails - 运行 rake db :seed multiple times without creating duplicate records?

这个问题在这里已经有了答案:appendingtorakedb:seedinrailsandrunningitwithoutduplicatingdata(9个回答)关闭9年前。我想更改种子文件中的一些代码,以便在我多次运行种子命令时它不会创建重复记录。有什么方法可以从我的种子文件中修改下面的代码,这样就可以了吗?除非我弄错了,否则find_or_create_by方法在这里似乎不起作用。data_file=Rails.root.join('db/data/data.csv')CSV.foreach(data_file)do|row|TownHealthRecord.create(ci

ruby-on-rails - 为什么我不能在 Rails 中使用 Record.all.destroy?

我目前正在开始学习Ruby和RubyonRails框架。我发现在表records中,我可以找到一个id为5的记录,并使用以下代码将其删除:Record.find(5).destroy这是有道理的——我链接方法来找到记录并销毁它。但是,如果我想销毁表中的所有记录,逻辑命令如下,因为all选择器选择表中的所有记录:Record.all.destroy这会返回一个NoMethodError!我知道我可以使用Record.destroy_all或Record.delete_all来完成这个任务,但是,我想知道为什么我不能只使用most合乎逻辑的选择,而不必查找诸如delete_all之类的内容

ruby-on-rails - rails : How do I autocomplete search for Name but save ID?

我用过这个视频http://railscasts.com/episodes/102-auto-complete-association-revised在我的应用程序的表单中设置自动完成搜索输入。(该视频可能仅供成员(member)使用,因此我也会发布我的代码。本质上,它会搜索数据库(名称)的一列,并在您键入时在下拉列表中自动完成。这一切都很好,但是,我想要什么表单要做的是提交与名称相关的ID,而不是名称本身。我假设没有简单的方法可以仅在View中执行此操作。任何帮助都会很棒。下面的代码,让我知道是否有任何其他代码有帮助。谢谢Controller:defgame_namegame.try

Ruby Regex 非贪婪匹配 : looking for the closest occurrence of a phrase left to a searched word

假设我有以下字符串:"BENffew123X\r\nBENx432f456X\r\nBEN!233789X\r\nBEN4545789X"我想要一个能捕获“BEN!233789”的正则表达式,它必须非贪婪地查找“BEN”,后跟任何字符(不包括“BEN”一词)并以789X结尾。我尝试了正则表达式:/BEN.+?789X/mi,我得到了"BENffew123X\r\nBENx432f456X\r\nBEN!233789X"作为匹配项。我知道这个正则表达式寻找第一个“BEN”并捕获字符串的开头,但我希望它寻找最接近第一个“789X”的“BEN”。我怎样才能做到这一点?一个想法是反转字符串,我

ruby - Rspec any_instance.stub 为 nil :NilClass exception 引发未定义的方法 `any_instance_recorder_for'

这是我正在测试的包含在Foo.rb中的类:classFoodefbarreturn2endend这是Foo_spec.rb中包含的我的测试:require"./Foo.rb"describe"Foo"dobefore(:all)doputs"#{Foo==nil}"Foo.any_instance.stub(:bar).and_return(1)endit"shouldpassthis"dof=Foo.newf.bar.shouldeq1endend我得到以下输出:falseFFailures:1)FooShouldpassthisFailure/Error:Foo.any_insta

ruby - 使用 RVM 使用 sinatra 应用程序加载 Active Record gem 时出错

我为我正在启动的sinatra应用程序设置了一个项目级RVMgemset,它将使用ActiveRecord连接到本地数据库。为了测试它,我尝试运行以下测试应用程序:测试.rbrequire'rubygems'#maynotbeneeded,dependingonplatformrequire'sinatra'require'activerecord'classArticle"sqlite3",:database=>"hw.db")Test.first.contentend(摘自这个问题的答案:What'sthebestwaytotalktoadatabasewhileusingSina

ruby-on-rails - attr_accessible 在 rails Active Record 中

当我使用attr_accessible指定我将公开模型中的哪些字段时,脚本/控制台也是如此吗?我的意思是我没有指定为attr_accessible的东西也不能通过控制台访问? 最佳答案 这仅适用于批量分配。例如,如果您要在模型中设置attr_protected:protected:>>Person.new(:protected=>"test")=>#相反,您可以使用attr_accessible将您想要的所有属性设置为可访问。但是,以下内容仍然有效:>>person=Person.new=>#>>person.protected="