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吗?
答案 0 :(得分:2)
这可能只是一个错字,但它可以解释你的无方法错误
users = User.all()
user**s**.each do |u|
end
应该是
users = User.all
users.each do |user|
....
end
或者只是
User.all.each do |user|
...
end
答案 1 :(得分:0)
你确定这是确切的代码吗?听起来你正在调用object.update而不是只调用object.save
顺便说一句,如果你在Ruby中调用函数,则不需要括号: - )