将params发送到新方法

时间:2015-03-19 00:01:41

标签: ruby-on-rails ruby-on-rails-4 routing

我想覆盖控制器中的默认new方法以接收一些参数。最好的方法是什么?更改路径并为方法添加参数,如此?

get 'article/:id/new', to: 'articles#new', as: :new_article

在控制器中:

def new(master)
  @article = current_user.articles.new(master)
end

有更好的方法吗?我使用它的唯一方法是在表单中使用隐藏字段,这根本不是理想的。

1 个答案:

答案 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