【问题标题】:Setting Rails Checkbox from Another Model从另一个模型设置 Rails 复选框
【发布时间】:2010-04-06 03:19:59
【问题描述】:

我有一个属于“Foo”类的复选框。我有另一个“首选项”类,它为该复选框设置默认值。

我尝试过使用

f.check_box :email_preference, :value => preferences.email_preference

但它不起作用。我使用这个页面来创建新记录以及编辑,所以显然对于新记录,我希望将preferences.email_preference 设置作为默认设置,然后使用foo.email_preference 编辑记录。有什么建议吗?

【问题讨论】:

  • 嘿,凯文,你想在表单中设置这个吗?这些模型有关联吗?给我们一点功能上下文。有很多不同的方法可以实现这种功能。

标签: ruby-on-rails forms


【解决方案1】:

尝试关注

check_box_tag :preference, :email_preference, :value => preferences.email_preference

【讨论】:

    【解决方案2】:

    试试这个:

    value = @foo.new_record? ? preferences.email_preference : @foo.email_preference
    
    f.check_box :email_preference, :value => value
    

    【讨论】:

      【解决方案3】:

      您在错误的地方执行此操作。视图不应该关心首选项类。当创建一个新的 Foo 时,它应该在对象上设置 :email_preference 的值,然后视图将简单地显示这个结果。

      我忘记了 ActiveRecord 类的构造方法的名称,或者这里是否有回调可以利用。我去查一下。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-31
        • 2014-04-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-13
        相关资源
        最近更新 更多