加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails上的复选框

发布时间:2020-12-16 22:28:26 所属栏目:百科 来源:网络整理
导读:在 Ruby on Rails中制作与某个问题相关的复选框的正确方法是什么?现在我有: div class="form_row" label for="features[]"Features:/label br%= check_box_tag 'features[]','scenarios' % Scenarios br%= check_box_tag 'features[]','role_profiles' % R
在 Ruby on Rails中制作与某个问题相关的复选框的正确方法是什么?现在我有:
<div class="form_row">
    <label for="features[]">Features:</label>
    <br><%= check_box_tag 'features[]','scenarios' %> Scenarios
    <br><%= check_box_tag 'features[]','role_profiles' %> Role profiles
    <br><%= check_box_tag 'features[]','private_messages' %> Private messages
    <br><%= check_box_tag 'features[]','chatrooms' %> Chatrooms
    <br><%= check_box_tag 'features[]','forums' %> Forums
    <br><%= check_box_tag 'features[]','news' %> News
    <br><%= check_box_tag 'features[]','polls' %> Polls
</div>

我也想能够自动检查先前选择的项目(如果此表单被重新加载).我将如何将参数加载到这些默认值?

解决方法

您正在查看以下内容:
<div class="form_row">
    <label for="features[]">Features:</label>
    <% [ 'scenarios','role_profiles',...,'polls' ].each do |feature| %>
      <br><%= check_box_tag 'features[]',feature,(params[:features] || {}).include?(feature) %>
      <%= feature.humanize %>
    <% end %>
</div>

虽然如果您已经拥有Feature模型,功能表和has_many:features关系,您可能希望这样做:

<div class="form_row">
    <label for="feature_ids[]">Features:</label>
    <% for feature in Feature.find(:all) do %>
      <br><%= check_box_tag 'feature_ids[]',feature.id,@model.feature_ids.include?(feature.id) %>
      <%= feature.name.humanize %>
    <% end %>
</div>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读