我的 Rails 应用程序中有以下设置:用户注册并从一组音乐样式复选框中进行选择。
音乐风格现在只有 4 种,但应该是可扩展的。我想要一个可以轻松扩展和更改的 MusicStyles 列表。
我的方法是创建一个模型“MusicStyles”和一个模型“UserMusicStyles”,然后使用类似于以下的 has_many_through 关联:
class User < ActiveRecord::Base
has_many :user_music_styles
has_many :music_styles, :through => :user_music_styles
end
class UserMusicStyle < ActiveRecord::Base
belongs_to :user
belongs_to :music_style
end
class MusicStyle < ActiveRecord::Base
has_many :music_styles
has_many :users, :through => :user_music_styles
end
现在,在注册期间,我会做类似 MusicStyle.all.each do |m| 之类的事情。...显示复选框,但如何在用户控制器中正确地将其保存到数据库中?
非常感谢任何帮助!