收集对象Rails 3中的参数错误

时间:2011-11-07 12:07:34

标签: html ruby ruby-on-rails-3 erb collect

伙计我在.html.erb文件中使用select()标记,如下所示

<%= select(:hfi_id, b.beneficiaryloans.collect { |h| [User.find(h.hfi_id).firstname, h.hfi_id] }) %>

这句话有什么不对?实际上它给出了一个名为

的错误
 wrong number of arguments (2 for 3) - error for above line

但是我在irb控制台中执行了同样的事情,它的工作正常,如

irb(main):012:0> me=Beneficiary.find(1)
=> #<Beneficiary id: 1, firstname: "Mohan", lastname: "Bairwa", address: "1399 m.k.b jagatpira", age: 24, sex: "Male", total_members: 1, cso_id: 123, project_id: 17, remarks: nil, status_id: 4, created_at: "2011-11-07 09:39:24", updated_at: "2011-11-07 09:55:07">

irb(main):018:0> me.beneficiaryloans.collect {|h|User.find(h.hfi_id).firstname,h.hfi_id]}
=> [["Gruh", 117]]

使用irb控制台我得到了正确的结果

    => [["Gruh", 117]]

但是当我把它放在.html.erb文件中时,它给出了参数错误。怎么解决这个问题?

1 个答案:

答案 0 :(得分:1)

看看thisselect方法有3个强制参数,你只提供两个..