假设有个 model 比如 叫 class Comment < ActiveRecord::Base 你喜欢 belongs_to :author, class_name: 'Member', foreign_key: 'author_id' 还是直接就 belongs_to :member
class Comment < ActiveRecord::Base
belongs_to :author, class_name: 'Member', foreign_key: 'author_id'
belongs_to :member
O(∩_∩)O
没有特殊情况当然就是 belongs_to :member 因为这是大家都了解的默认约定。
#1 楼 @Victor 我有时候觉得 author 更易读 容易理解。
#2 楼 @huobazi 如果在开发中,发现这样的情况,可能是自己当时设计的时候逻辑没有理顺。本来这个表也许就该起名叫 authors。
当然如果你的 member 本身就要负担两个责任,那又另说了。
有空可以读读下文:http://www.techug.com/thought-on-naming-code
喜欢前面的,讲清楚了是这个会员是作者
如果 Comment 只与一种 member 有关,比如说 author, 这也是通常情况,那么直接belongs_to :member就好了。
如果你后来要加功能,打比方说加一个 editor, 那么写的时候可以改成你的 author_id 方案,并加 migration。
如果你写第一个功能的时候预见到了第二个功能可能会需要,那么写第一个的时候可以直接写复杂版。如果第二个功能根本不需要,直接写最简单版本。