我试图在我的测试中使用它
<%= f.input :user, :label => 'Usuario: ' , :as => :select , :collection => @users , :include_blank => true %>
并没有工作......
但是当切换到:
<%= f.input :user_id, :label => 'Usuario: ' , :as => :select, :collection => Hash[@users.map{|b| [b.nickname,b.id]}] , :include_blank => true%>
它确实有用吗?有谁知道为什么?
我也把它全部放在代码上:
<%= f.input :user, :label => 'Usuario: ' , :as => :select , :collection => @users , :include_blank => true %>
<%= f.input :user_id, :label => 'Usuario: ' , :as => :select, :collection => Hash[@users.map{|b| [b.nickname,b.id]}] , :include_blank => true%>
但第一个没有用(我只是想知道@user变量是否有些错误)..
是否与模型有关?有谁知道为什么?
答案 0 :(得分:0)
来自形式文档:许多输入提供了一系列可供选择的选项(例如:select
,:radio
,:check_boxes
,:boolean
)。在许多情况下,Formtastic可以通过模型关联找到选择,但是如果您想使用自己的一组选择,:collection
选项就是您想要的。你可以传入一个对象数组,一个字符串数组,一个哈希......
您可以查看documentation
collection
也希望收到一个哈希或数组,但是当你传递@user
时,你传递了一个模型的实例变量,但这不起作用。