我想覆盖控制器中的默认new
方法以接收一些参数。最好的方法是什么?更改路径并为方法添加参数,如此?
get 'article/:id/new', to: 'articles#new', as: :new_article
在控制器中:
def new(master)
@article = current_user.articles.new(master)
end
有更好的方法吗?我使用它的唯一方法是在表单中使用隐藏字段,这根本不是理想的。
答案 0 :(得分:1)
您有表单链接到new
行动吗?那就在那里,它应该只是一个链接。
只需将params添加到链接:
link_to "New Article", new_article_path( some_param: "some_value" )
然后在控制器中:
def new
@article = current_user.articles.new some_param: params[:some_param]
end