我正在尝试将模型帖子添加到博客中。帖子有blog_id。我需要在发布后设置它。
= link_to 'New Post', new_post_path(blog_id: @blog.id)
这是创建新帖子的按钮。我在地址中看到:
但我不知道如何将此blog_id发送到post_form。我应该使用隐藏的形式还是什么?或许我需要在控制器中写一些东西。耐我,我是铁杆新手。另外,我想知道,这是设置blog_id发布的正确方法吗?
UPD _post_form
= simple_form_for [@post] do |f|
= f.error_notification
.form-inputs
= f.input :title
= f.input :content
.form-actions
= f.button :submit
答案 0 :(得分:1)
您应该使用帖子和博客之间的关系,在posts模型中将其声明为has_many或has_one关系,这样您就有机会访问该对象:
@blog = blog.posts.find(:id)
我建议您按照本教程的这一部分进行操作:https://www.railstutorial.org/book/user_microposts它确实帮助了我做项目
答案 1 :(得分:1)
只需添加hidden_field
并访问params[:blog_id]
new_post_path
= simple_form_for [@post] do |f|
= f.error_notification
.form-inputs
= f.input :title
= f.input :content
= f.hidden_field :blog_id, value: params[:blog_id]
.form-actions
= f.button :submit