我使用
在rails中创建了模型rails g model User uid:integer name:string
和
rails g model Post message:string user:references
以上几行生成的模型如下
class User < ActiveRecord::Base
attr_accessible :name, :uid
end
和
class Post < ActiveRecord::Base
belongs_to :user
attr_accessible :message
end
现在我需要在has_many :posts
模型中明确添加User
吗?
我如何在user_id
模型Post
中制作NOT NULL
?
感谢。
答案 0 :(得分:3)
现在我需要在User模型中明确添加一个has_many:帖子吗?
如果您要查找用户User.firs.posts
的帖子,请单击“是”如何在Post模型中使用user_id NOT NULL?
添加迁移
change_column :posts, :user, :integer, :null => false
答案 1 :(得分:1)
除非您要进行has_many :posts
之类的查询,否则您不一定需要current_user.posts
。 Rails使用关联来绑定这样的查询。
为了确保user_id不为null,您可以执行其中一项或两项。
validates :user_id, :presence => true
t.integer "user_id", :null => false
后者将通过不允许您通过SQL查询插入值null来使数据库保持一致。