【问题标题】:Set checkbox default to true on rails在 Rails 上将复选框默认设置为 true
【发布时间】:2011-08-03 14:48:40
【问题描述】:

我正在尝试使用 Rails 中的 check_box 助手将复选框的默认值设置为默认值。我在Rails api documentation中找不到解决方案

使用check_box_tag 似乎真的很容易,但我需要使用上面的帮助程序,因为我需要它用于模型对象。

是否可以将 check_box_tag 用于模型对象..?从文档中看起来不是这样。

如果我不能在 Rails 中直接实现,您能否建议任何 javascript、jquery 解决方法。

我在Rails 2.0.2 用于项目特定目的。

任何关于这方面的指导都会非常方便..

非常感谢..

【问题讨论】:

    标签: javascript jquery ruby-on-rails checkbox default


    【解决方案1】:

    由于复选框与模型的某个字段相关联,因此您只需在模型上将值设置为 true:

    在您的控制器中:

    def new
      @model = Model.new
      @model.my_value = true
    end
    

    在你看来:

    <%= f.check_box :my_value %>
    

    【讨论】:

    • 通常你会使用一个带有布尔值的复选框,但我认为它也可以是一个整数。
    【解决方案2】:

    我使用了 check_box_tag,因为我能够在帮助下找到满足我要求的有效解决方法..

    这是如何使用相同的:-

    <%=check_box_tag "model[local_variable]",1,true %>
    

    这可能显示了 check_box_tag 的多功能性..

    【讨论】:

    • 这里唯一正确的解决方案是@Dylan Markow 建议
    • 你为什么这么认为..??你能告诉我这个替代方案有什么问题吗?
    • 主要思想是你的复选框应该依赖模型数据。在您的情况下,即使真实属性为假,也总是会检查它。在现实生活中,我会以这种方式改进@Dylan 的答案:只需在迁移中默认将my_value 设置为true,因此每个新对象都将具有true 属性,而现有对象将是它的属性
    • 你的意思是说如果我“取消选中”默认的“选中”框,它仍然会带有“真”值..? .事实并非如此..我已经用日志中传递的值验证了这一点..
    • 表示即使Model属性为false也会检查
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-11
    • 1970-01-01
    相关资源
    最近更新 更多