假设我有以下课程:
class Foo < ActiveRecord::Base
belongs_to :bar
end
在 Rails 控制台中,我可以这样做:
foo = Foo.new
foo.bar_id = 3
但这可能违反了封装原则。我认为这是更好的主意:
foo = Foo.new
foo.bar = Bar.find(3);
并且bar_id
应该是私有的/受保护的。这与 无关,mass assignment
但strong parameters
它也是一个安全问题。
有没有办法将某些属性设置为私有?