Почему мое обновление не выполняется в каждом цикле? - PullRequest
0 голосов
/ 14 ноября 2010
users = User.all()

user.each do |u|

  b = get_id_blah()

  u.some_id = b.id
  u.save

end

Я получаю ошибку:

ruby-1.8.7-p302@rails3/gems/activemodel-3.0.1/lib/active_model/attribute_methods.rb:364:in `method_missing': private method `update' called for #<User:0x1017b8188> (NoMethodError)

Должен ли я вызывать save вне цикла?

Ответы [ 2 ]

2 голосов
/ 14 ноября 2010

Это может быть просто опечатка, но это может объяснить вашу ошибку без метода

users = User.all()

user**s**.each do |u|


end

Это должно быть что-то вроде

users = User.all
users.each do |user|
  ....
end

Или просто

User.all.each do |user|
   ...
end
0 голосов
/ 15 ноября 2010

Вы уверены, что это точный код?Похоже, вы вызываете object.update вместо того, чтобы просто вызывать object.save

Кстати, вам не нужны круглые скобки, если вы вызываете функции в Ruby: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...