我有user model
和Language model
,其中语言模型包含不同的语言,我希望用户从该模型中选择语言,并且应该为相应的用户存储语言。考虑有五种语言A, B, C, D, E
,然后用户必须从语言中进行选择。假设user 1
选择A and C
而user 2
选择B and D
则必须为该用户存储语言。我怎样才能做到这一点?请帮帮我。
答案 0 :(得分:1)
您需要建立many-to-many关系的模型。如链接中所述,这可以通过声明
来完成class User < ActiveRecord::Base
has_and_belongs_to_many :languages
end
class Language < ActiveRecord::Base
has_and_belongs_to_many :users
end
并创建一个名为language_users
的新表来存储user_id
和language_id
。此表中的每条记录都表示特定用户已选择特定语言。
答案 1 :(得分:1)
您可以通过关联来实现,在您的情况下,您可以尝试:
class User < ActiveRecord::Base
has_and_belongs_to_many :languages
end
和
class Language < ActiveRecord::Base
has_and_belongs_to_many :users
end
或者您可以通过以下链接进行操作。
http://guides.rubyonrails.org/association_basics.html
http://www.tutorialspoint.com/ruby-on-rails/rails-models.htm