collection_select 和 has_and_belongs_to_many 关系

Posted

技术标签:

【中文标题】collection_select 和 has_and_belongs_to_many 关系【英文标题】:collection_select and has_and_belongs_to_many Relationships 【发布时间】:2011-04-21 18:55:18 【问题描述】:

我有两个模型 - 联系人和组织 - 设置为 has_and_belongs_to_many 关系:

class Contact < ActiveRecord::Base
    has_and_belongs_to_many :organizations
end

class Organization < ActiveRecord::Base
    has_and_belongs_to_many :contacts
end

在联系人的新视图中,我有以下collection_select:

<%= collection_select('contact', 'organization_ids', @organizations, :id, :name, ,  :multiple => :true, :name => 'contact[organization_ids][]') %>

这可行,但为这种关系创建多选框似乎过于复杂。

对于这种特殊的关系是否有更好的帮手?我更喜欢使用多选框 - 而不是复选框。

【问题讨论】:

【参考方案1】:

试试这个:

<%= check_box_tag "contact[organization_ids][]", organization.id, @contact.organizations.include?(organization) %>

【讨论】:

嘿@Jatin - 我很欣赏这个答案,但复选框不是这个特定项目的选项。

以上是关于collection_select 和 has_and_belongs_to_many 关系的主要内容,如果未能解决你的问题,请参考以下文章

Ruby on Rails - 在填写表单时更新 collection_select

ruby collection_select描述

ruby collection_select描述

如何将两个属性作为 text_method 传递给 rails 中的 collection_select

在 rails collection_select 中使用短日期时间

如何在 Rails 中为 collection_select 设置 HTML 选项?