2012-10-26 31 views
0

我有一個包含許多屬於某個類別的項目的Box。 創建Box時,它具有user_id。 項目有一個category_id。rails:collection_select for current_user

我已經看到了,如果你在表中爲user_id有關它的工作原理好嗎:

<%= f.collection_select :category_id, Category.where(:user_id => current_user.id), :id , :name %> 

但我怎麼能得到從CURRENT_USER已進入什麼類別collection_select - 我一定要添加user_id分類還是可以以某種方式加入我的表格?

回答

1

也許這樣更容易:

<%= f.collection_select :category_id, current_user.categories, :id, :name %> 

PS:更妙的是,如果你把這個在你的控制器,所以,如果你有改變的選擇並增加一些條款,你會不會需要改變幾乎所有的觀點,只是控制器(MVC)。

+0

我曾嘗試過,並且我爲#<用戶獲取了未定義的方法'類別'。類別只有兩個字段,它的ID和名稱 – ritchielee

+1

,所以,在你的用戶模型中放置'has_many:categories',我會假設你在類別模型中有'belongs_to:user'。 – caarlos0

+0

與我得到的錯誤:列categories.user_id不存在 – ritchielee