簡體   English   中英

attr_accessible中的模型

[英]models in attr_accessible

有許多關於Rails中模型之間關系的例子,但它們似乎都忽略了模型的attr_accessible部分。

我正在尋找圍繞attr_accessible的一些最佳實踐,我發現了相互矛盾的建議。 可以/我應該:

- 將外鍵放在attr_accessible中?

Class Post
  attr_accessible :name, :user_id

  belongs_to :user
end
Class User
  attr_accessible :first, :last

  has_many :posts
end

- 在attr_accessible中放置完整的模型?

Class Post
  attr_accessible :name, :user

  belongs_to :user
end
Class User
  attr_accessible :first, :last

  has_many :posts
end

與Kaeros所說的相反,我實際上建議不要允許外鍵字段可以進行大規模分配。 原因是您在添加帖子時為某人發送不同的user_id開辟了一條簡單的方法。 這可能是您找到的示例不包括外鍵的原因。

解決此問題的最佳方法是在為用戶添加新帖子時使用集合構建器方法:

user.posts.create(params[:post])

如果您選擇不遵循該建議,那么它實際上取決於您如何批量分配值。 如果您的哈希包含:user_id ,那么您應該使其可訪問,如果它包含:user ,請使用該哈希。 如果您不確定,可以隨時使用。

在attr_accessible中使用外鍵似乎是正常的,對我來說是默認選項。 你可以在這里看到api指南也使用這個表格。

將模型名稱添加到attr_accessible也對我有用。

我更喜歡第一個選項,所以我很容易知道我正在處理外鍵

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM