使用Devise和has_many / belongs_to将用户与许多内容相关联

时间:2013-06-17 20:50:01

标签: ruby-on-rails ruby-on-rails-3

所以我有一个Animal模型和一个User模型。 User可以包含多个Animals。我正在为我的用户使用Devise Gem。目前我没有用户和动物之间的关联,但我想让用户拥有0个或更多的动物。

这是我到目前为止添加的内容:

app/models/animal.rb

class Animal < ActiveRecord::Base
   belongs_to :user
   accepts_nested_attributes_for :user # not sure if this is needed
   attr_accessible :name, :age
end

app/models/user.rb

class User < ActiveRecord::Base
   has_many :animal
   devise :database_authenticatable, :registerable,
          :recoverable, :rememberable, :trackable, :validatable

   attr_accessible :email, :password, :password_confirmation, :remember_me
end

我是否需要编写迁移?还有什么需要补充的吗?以上是正确的吗?

感谢。

1 个答案:

答案 0 :(得分:3)

你需要复数关系的多方面

has_many :animals

您需要迁移才能为这两个模型创建表,数据库对您的模型一无所知。这是非常基本的东西,你可能想先阅读一些rails教程。您可以使用脚手架/生成器进行迁移,也可以手动编写。