Ошибка аргумента при сборе объекта Rails 3 - PullRequest
0 голосов
/ 07 ноября 2011

Ребята, я использую тег select () в файле .html.erb следующим образом

<%= 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 Ответ

1 голос
/ 07 ноября 2011

Посмотрите на это . select метод имеет 3 обязательных параметра, а вы предоставляете только два ..

...