Ruby on rails rails:需要一些集合的解释吗
我尝试使用collection\u select显示下拉列表。但是,在搜索了一段时间后,我仍然不明白如何设置此方法的参数Ruby on rails rails:需要一些集合的解释吗,ruby-on-rails,collections,selection,Ruby On Rails,Collections,Selection,我尝试使用collection\u select显示下拉列表。但是,在搜索了一段时间后,我仍然不明白如何设置此方法的参数 class Entry < ActiveRecord::Base has_many :addresses attr_accessible :email, :first_name, :last_name end class Address < ActiveRecord::Base belongs_to :entry has_one :
class Entry < ActiveRecord::Base
has_many :addresses
attr_accessible :email, :first_name, :last_name
end
class Address < ActiveRecord::Base
belongs_to :entry
has_one :address_type
attr_accessible :type, :city, :state, :street, :zip
end
class AddressType < ActiveRecord::Base
belongs_to :address
attr_accessible :name
end
我不知道如何设置collection_select的参数,所以我的行'5'肯定是错误的。其他文档和示例都很混乱,有谁能解释一下我如何使用collection\u select完成这项工作吗?
当您使用form.collection\u select
时,您应该省略object,例如
确保您获得的地址类型是正确的 使用以下命令:
@addresses = AddressType.all
f.collection_select ("address_type", "name", @addresses, "id", "name")
在哪里,
地址类型=您的型号
名称=模型字段名称
@addresses=包含AddressType表中的“Home”、“Work”和“Other”的集合
id=选项的值属性
名称=显示选项的属性谢谢您的帮助。我可以更好地理解collection_select的工作原理。我得到了一个后续问题,当我在addresstype打开的情况下在我的新地址页面上点击“创建”按钮后,错误显示unknown attribute:type,但我肯定将它包含在它的模型中?
= f.collection_select (:type, AddressType.all, :id, :name)
form.collection_select(method, collection, value_method, text_method, options = {}, html_options = {})
@addresses = AddressType.all
f.collection_select ("address_type", "name", @addresses, "id", "name")