创建默认Rails的模型关联

问题描述:

有没有建立一个Rails模型有默认关联到现有资源的方式,即我创建了一个新的博客文章,它会自动获得分配作者ID为10创建默认Rails的模型关联

+0

你_always_想要的默认关联指向用户ID为10? – Dogbert

+0

可能,请让我知道您的建议 – amaseuk

您可以在您的BlogPost模型中执行类似操作,这会为用户10分配创建的每篇博文。

after_create do |blog_post| 
    blog_post.user = User.find(10) 
    blog_post.tags = Tag.all # Or whatever 
end 

编辑:

要在致电时准备新用途after_initialize回调,而不是这种情况发生:

after_initialize do |blog_post| 
    blog_post.user = User.find(10) 
    blog_post.tags = Tag.all # Or whatever 
end 
+0

我将如何更改此内容,以便分配每个标签(HABTM)?另外,我将如何使这个在'新'行动中发挥作用? – amaseuk

+0

已更新我的回答 – Ant

+0

你知道我该如何做这项工作,所以当新表格首次呈现时,这些关联已经到位了? (这是一个嵌套的形式) – amaseuk

我不知道这是否是你在说什么,但你可以达到你想要做什么用的关联扩展,配有活动记录即

u = User.first 
u.blog_posts.create(:title => 'great post', :content => 'better content') 

这将创建一个博客帖子,并自动分配给USER_ID用户ü

S请参阅此页面以获取更多信息:http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html

+0

我在寻找它与现有资源的关联,例如,一个新的博客文章会自动与所有标签相关联 – amaseuk