0

我有两个模型UserCategory并且有一个 HABTM 关联。

我想从Category我的视图上的一组项目中生成复选框,并将它们与current_user.

我怎么做?

谢谢。

PS 我知道我可以用options_from_collection_for_select. 我也知道 Rails 有一个checkbox_tag助手。但不太确定如何做到这两点。我知道我可以使用每个循环或其他东西手动完成,但我想知道 Rails 3 是否有一些我缺少的东西。

4

2 回答 2

2

你检查过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

希望这可以帮助。

于 2012-06-15T07:27:06.783 回答
0

您可以使用 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最后传递选项。

于 2012-06-15T06:43:55.230 回答