3

我已经写 Rails 几年了,和之间的区别attr_accessible :person真的attr_accessible :person_id让我很烦。

attr_accessible :person处理表单数据很烦人,尤其是选择助手,需要访问f.select :person_id...

attr_accessible :person_id: 让设置 AR finder 结果变得更加冗长,比如User.person_id = Person.create!(name: "Hugh").id

我不太介意,但两者都使用似乎应该是不必要的。我也从未真正在其他人的代码中看到过偏好。我应该遵循这里的约定吗?

4

1 回答 1

3

据我所知,使用attr_accessible :person_id. 模型对象将自动转换为 id,因此您应该能够编写如下内容:User.first.person_id = Person.create!(name: "Hugh")甚至更短:User.first.person.create!(name: "Hugh")

于 2012-08-13T15:54:43.250 回答