0
目前,用户可以创建一个Track(只需考虑文档)。用户也可以为这些曲目添加书签 我想添加一个共同作者功能,许多用户可以编辑单个曲目。我将如何更改现有的'用户has_many曲目,曲目belongs_to用户'关系,同时维护当前作者?Rails:从“Has_many,Belongs_to”优雅地改变现有的关联?
User.rb:
#authors(creates) track
has_many :creations, :class_name => "Track", :foreign_key => "author_id"
#bookmarks track
has_many :track_users
has_many :tracks, :through => :track_users
Track.rb:
belongs_to :author, :class_name => "User", :foreign_key => "author_id"
#bookmarked users
has_many :track_users
has_many :users, :through => :track_users
请问我只需要创建另一个连接表像我做了书签( “:通过=>:track_users”) ,并使用脚本将作者移动到新的连接表中?
谢谢您的回复!我有几个问题 1.布尔值的目的是什么?那只是为了确定原作者? 2.对于新的assoc,user.rb模型会是什么样子? 3.我将如何创建曲目?仍然能够使用像“current_user.creations.build?” – kibaekr 2013-02-21 07:18:57
感谢您的编辑:)我仍对“作者布尔”有点困惑。这是为了区分原作者和共同作者吗? (也许这样只有原作者才能删除曲目?) – kibaekr 2013-02-25 04:19:00
此外,找到“author:true”的条件不起作用。我是否需要在track_author.rb模型中指定belongs_to? 以下是我目前在https://gist.github.com/anonymous/5027875的要点。我感谢帮助:) – kibaekr 2013-02-25 05:09:10