【问题标题】:Displaying and selecting from a HABTM显示和选择 HABTM
【发布时间】:2015-03-27 17:24:55
【问题描述】:

目前我有一个类别和帖子模型,通过 HABTM 关系加入。

帖子属于多个类别,具有许多属性。

类别只有一个名称属性。

如何在我的帖子 _form.html.erb 中创建多选表单,以便我可以选择要将帖子分配到哪些类别?

【问题讨论】:

  • 欢迎来到 Stack Overflow。请在您的问题文本中谨慎使用粗体和斜体(如果有的话)。就像输入全部大写一样,它们就像大喊大叫,实际上只会分散注意力而不是帮助。把 SO 想象成一本关于编程问题问答的百科全书,只是混合了维基百科的编辑风格。像在参考书中看到的那样写,简洁,清晰,不要过度装饰。友好是可以的,但这不是谈话。此外,我们不会在问题或答案中使用称呼(“Hi”)、致辞(“Thanks”)或签名(“Jonathan”)。

标签: ruby-on-rails ruby ruby-on-rails-4 has-and-belongs-to-many


【解决方案1】:
<%= form_for @post do |f| %>
  <div>
    <%= f.label :category_ids, "Categories" %><br />
    <%= f.collection_select :category_ids, Category.order(:name), :id, :name, {}, {multiple: true} %>
  </div>

  <div>
    <%= f.submit 'Submit' %>
  </div>
<% end %>

【讨论】:

    【解决方案2】:

    尝试使用selectcollection。您可能必须更改集合,不确定您希望能够从哪些类别选项中进行选择。像这样的:

    <%= f.input :post, as: :select, collection: Category.posts, include_blank:false %>
    

    或查看collection_select 表单辅助方法 http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-collection_select

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-23
      • 2011-05-15
      • 1970-01-01
      相关资源
      最近更新 更多