update_attributes() 无法正常工作
update_attributes() does not works properly
@related=Book.find_all_by_related(@book.related)
if @related.count>1
@related.each do |b|
b.update_attributes(params[:book])
end
end
我正在使用 rails 2.3.5。对于上面的代码,第一次迭代工作正常并显示为 true。但是对于下一次迭代, b.update_attributes() 显示 false 。所有参数都在迭代中到达。方法 update_attributes() 有什么条件吗?
如果您的模型指定了 attr_accessible 个属性,则只会更新这些属性。
使用 attr_accessible 来防止(由用户)批量分配不应由用户编辑的属性。质量分配用于标准控制器的创建和更新方法。
class User < ActiveRecord::Base
attr_accessible :login, :password
end
因此,执行以下操作会 return 为真,但不会更新状态属性。
@user.update_attributes(:status => 'active')
如果要更新status属性,需要单独赋值。
@user.status = 'active'
save
@related=Book.find_all_by_related(@book.related)
if @related.count>1
@related.each do |b|
b.update_attributes(params[:book])
end
end
我正在使用 rails 2.3.5。对于上面的代码,第一次迭代工作正常并显示为 true。但是对于下一次迭代, b.update_attributes() 显示 false 。所有参数都在迭代中到达。方法 update_attributes() 有什么条件吗?
如果您的模型指定了 attr_accessible 个属性,则只会更新这些属性。
使用 attr_accessible 来防止(由用户)批量分配不应由用户编辑的属性。质量分配用于标准控制器的创建和更新方法。
class User < ActiveRecord::Base
attr_accessible :login, :password
end
因此,执行以下操作会 return 为真,但不会更新状态属性。
@user.update_attributes(:status => 'active')
如果要更新status属性,需要单独赋值。
@user.status = 'active'
save