草庐IT

all_fields

全部标签

ruby-on-rails - rails : Ensure only one boolean field is set to true at a time

我有一个Logo模型,它的字段名称为:字符串,默认为bool值。我希望true值是唯一的,以便一次只能将数据库中的一项设置为true。如何在我的Controller中设置更新和新操作以将Logo的所有其余值设置为false?假设我有以下设置在我的数据库中模特标志名称:字符串|默认值:bool值|项目1|是的|项目2|假|第3项|假|如果我将Item2默认值更改为true,我希望它遍历所有Logo并将其余Logo设置为false,因此一次只有一个为true,所以它看起来像这样。名称:字符串|默认值:bool值|项目1|假|项目2|是的|第3项|假|提前感谢您的帮助。

ruby-on-rails - 将散列作为 hidden_​​field_tag 中的值传递

我正在尝试通过如下形式在我的参数中传递一些过滤器:hidden_​​field_tag"过滤器",params[:filters]由于某种原因,参数在下一页中发生了变化。例如,如果params[:filters]曾经是..."filters"=>{"name_like_any"=>["apple"]}[1]……它变成了……"filters"=>"{\"name_like_any\"=>[\"apple\"]}"[2]与[1]相比,请注意[2]中的额外引号和反斜杠。有什么想法吗?我试图将它与searchlogic一起用于某些过滤,但是当我更改表单中的更改对象时,我需要它保持不变。我宁愿不

ruby-on-rails - 使用#update_all 更新时间戳

当我有要更新其属性的ID列表时,数据库中的updated_at字段似乎没有改变,这就是我的意思:ids=[2,4,51,124,33]MyObj.where(:id=>ids).update_all(:closed=>true)执行此更新后,updated_at字段不会更改。但是,当我使用railsc进入rails控制台并执行此操作时:obj=MyObj.find(2)obj.closed=false;obj.save!在此语句之后updated_at字段更改值。为什么是这样?当发生这种情况时,我正在监听更新并执行整个应用程序流程时,我依赖于我的应用程序中的这个updated_at字段

ruby - 使用 WWW :Mechanize to download a file to disk without loading it all in memory first

我正在使用Mechanize来简化某些文件的下载。目前我的脚本使用以下行来实际下载文件...agent.get('http://example.com/foo').save_as'a_file_name'然而,这会将完整的文件下载到内存中,然后再将其转储到磁盘。你如何绕过这种行为,直接下载到磁盘?如果我需要使用WWW:Mechanize以外的东西,那么我将如何使用WWW:Mechanize的cookies呢? 最佳答案 您真正想要的是Mechanize::Downloadhttp://mechanize.rubyforge.org/

ruby - 在 Ruby Net::IMAP 中选择邮箱 "sent mail"或 "all mail"

我试图在Ruby中使用Net::IMAP来搜索我发送的所有邮件,但我无法选择收件箱以外的任何内容。imap.select('INBOX')工作正常,但是imap.select('Mail/sent-mail')如Net::IMAP文档所示,显示“未知邮箱”。顺便说一句,这是与gmail一起使用的。我还尝试将“in”、“anywhere”添加到我的imap.search()中,但没有解析。当前代码:imap.select('INBOX')now=Time.now.localtime-1209600#twoweekssince=now.day.to_s()+"-"+Date::MONTHN

ruby - Groovy 相当于 ruby​​ all 和 none

我想知道Groovy中Collection的所有(或没有)项目是否满足特定条件。我知道在ruby​​中(以及在带有linq的c#中),您可以调用all?和none?之类的方法并将条件作为闭包传递以完成此操作.在Groovy中是否有与此方法等效的方法? 最佳答案 是的,它的!any(对于Ruby的none)和every(对于Ruby的all):deflist=[1,2]assert!list.any{it0}另请参阅http://groovy.codehaus.org/JN1015-Collections处的文档

ruby-on-rails - Rails catch-all/globbing 路线

我使用的是rails3.0.14,我正在使用足智多谋的风格构建routes.rb。我想要一个通配符路由来捕获所有与任何所述路由不匹配的请求。构建这样一条路由的合适方法是什么? 最佳答案 放match'*path'=>'your_controller#your_action'在routes.rb文件的末尾。这很重要,因为路线是自上而下逐步进行的。另见http://guides.rubyonrails.org/routing.html->3.10 关于ruby-on-rails-Railsc

ruby-on-rails - Rails fields_for 表单未显示,嵌套表单

我创建了一个简单的Rails项目。一切正常,直到我尝试添加一个新模型Paintings,该belongs_to处理和一个Patienthas_manyPaintingsthrough治疗。所以不知何故我创建的嵌套表单没有显示出来,我相信它与Controller有关!谢谢,来自德国的问候!处理Controller:classTreatmentsControllernestedfields_for处理的表单未显示:"30",:rows=>"10"%>'btnbtn-smallbtn-primary'%>更新:显示站点: 最佳答案 请试试

ruby - 为什么.all?在空数组上返回 true?

我想使用Ruby评估数组中的所有项,如果它们都通过条件测试则返回true。我可以使用例如array.all?{|值|值==2}所以:>array=[2,2]>array.all?{|value|value==2}=>true>array=[2,3]>array.all?{|value|value==2}=>false太棒了!但是,为什么一个空数组可以通过这个测试呢?>array=[]>array.all?{|value|value==2}=>true这不应该返回false吗?如果我需要它返回false,我应该如何修改方法? 最佳答案

ruby-on-rails - 在 RSpec 中,在 :all block 之前使用 let 变量

我的大部分测试中都有以下代码:describe'index'let(:company){FactoryGirl.create(:company)}let(:user){FactoryGirl.create(:user,company:company)}beforedosign_inuservisitproducts_pathend...end但我收到以下警告:WARNING:letdeclaration'user'accessedina'before(:all)'我的问题是,这样做的正确方法是什么?我找不到关于警告本身的太多信息。谢谢!编辑:我的目标是使用user变量,这样我就可以将它