有没有办法设置Rails模型以与现有资源建立默认关联,即我创建一个新的博客文章,它会自动获得id为10的作者。
答案 0 :(得分:4)
您可以在BlogPost模型中执行类似的操作,这会为用户10分配每个创建的博客帖子。
after_create do |blog_post|
blog_post.user = User.find(10)
blog_post.tags = Tag.all # Or whatever
end
编辑:
要在调用new时使用after_initialize回调代替:
after_initialize do |blog_post|
blog_post.user = User.find(10)
blog_post.tags = Tag.all # Or whatever
end
答案 1 :(得分:0)
我不确定这是否是您所获得的,但您可以通过使用活动记录附带的关联扩展来实现您想要做的事情,即
u = User.first
u.blog_posts.create(:title => 'great post', :content => 'better content')
这将创建博客帖子并自动将user_id分配给用户u
有关详细信息,请参阅此页面:http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html