【问题标题】:rails4 form checkbox is giving issuerails4 表单复选框出现问题
【发布时间】:2015-05-19 12:48:14
【问题描述】:

您好,我想显示一个复选框,如果值为 true,则显示未选中,如果值为 false,则显示选中。我将 is_active 字段作为接受 0 or1 的布尔值。因此,如果员工 is_active = 1,那么我的复选框必须显示未选中,如果值为 0,则显示选中。如何做到这一点不明白。我是这样写的:

<%= f.check_box :is_active %>

因此,如果它的 1 然后显示我不想要的已检查。请帮帮我。提前致谢!

【问题讨论】:

    标签: ruby-on-rails forms ruby-on-rails-4 checkbox


    【解决方案1】:

    你可以试试这个,希望对你有帮助。

    ## Please replace your @employee object with your object.
    
    <%= f.check_box(:is_active, {checked: (@employee.is_active ? false : true) }) %>
    

    如果您想以相反的方式更新对象,请查看以下代码,即如果您选中它,它将使用 0 更新它,如果您取消选中它,它将使用 1 更新它。

    <%= f.check_box(:is_active, {checked: (@employee.is_active ? false : true) }, 0, 1) %>
    

    【讨论】:

      【解决方案2】:

      尝试这样做:

      <%= f.check_box(:is_active, {}, 0, 1) %>
      

      希望这能解决您的问题

      【讨论】:

        【解决方案3】:

        尝试三元运算符检查真/假,然后检查/取消检查

        <input type="checkbox" checked="<%= f.is_active ? 'checked' : 'unchecked'%>" />
        

        【讨论】:

        • Rails 不推荐使用原始 HTML。很高兴有一些轨道方式。
        • @RAJ 不推荐...有时可以根据少数情况使用。最后每个代码都转换为 html.. :)
        【解决方案4】:

        您可以将选中/取消选中值指定为:

        <%= f.check_box :is_active, {}, "0", "1" %>
        

        【讨论】:

          【解决方案5】:

          试试这个

          <%= f.check_box :is_active, {}, "true", "false" %>
          

          这应该可以正常工作.....

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2020-04-14
            • 2011-02-08
            • 1970-01-01
            • 2014-03-22
            • 1970-01-01
            • 1970-01-01
            • 2021-06-12
            相关资源
            最近更新 更多