我有两个模型User
,Category
并且有一个 HABTM 关联。
我想从Category
我的视图上的一组项目中生成复选框,并将它们与current_user
.
我怎么做?
谢谢。
PS 我知道我可以用options_from_collection_for_select
. 我也知道 Rails 有一个checkbox_tag
助手。但不太确定如何做到这两点。我知道我可以使用每个循环或其他东西手动完成,但我想知道 Rails 3 是否有一些我缺少的东西。
我有两个模型User
,Category
并且有一个 HABTM 关联。
我想从Category
我的视图上的一组项目中生成复选框,并将它们与current_user
.
我怎么做?
谢谢。
PS 我知道我可以用options_from_collection_for_select
. 我也知道 Rails 有一个checkbox_tag
助手。但不太确定如何做到这两点。我知道我可以使用每个循环或其他东西手动完成,但我想知道 Rails 3 是否有一些我缺少的东西。
你检查过formtastic还是simple_form
他们有助手可以更轻松地编写您的表单,也可以处理简单的关联。
例如,simple_form
你可以写
= simple_form_for @user do
= f.association :categories, :as => :check_boxes
在form_tastic
你会写
= simple_form_for @user do
= f.input :categories, :as => :check_boxes
希望这可以帮助。
您可以使用 collection_select 并为其提供选项。假设您有一个围绕用户实例的表单构建器,您可以执行以下操作:
form_for current_user do |f|
f.collection_select(
:category_ids, # the param key, so params[:user][:category_ids]
f.object.categories, # the collection of items in the list
:id, # option value
:name # option string
)
end
如果需要,您可能希望在:multiple => true
最后传递选项。