Formtastic - 为什么不起作用

时间:2013-09-10 21:33:17

标签: ruby-on-rails ruby formtastic

我试图在我的测试中使用它

<%= 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变量是否有些错误)..

是否与模型有关?有谁知道为什么?

1 个答案:

答案 0 :(得分:0)

来自形式文档:许多输入提供了一系列可供选择的选项(例如:select:radio:check_boxes:boolean)。在许多情况下,Formtastic可以通过模型关联找到选择,但是如果您想使用自己的一组选择,:collection选项就是您想要的。你可以传入一个对象数组,一个字符串数组,一个哈希......

您可以查看documentation

collection也希望收到一个哈希或数组,但是当你传递@user时,你传递了一个模型的实例变量,但这不起作用。