将参数发送到新方法
Sending params to the new method
我想覆盖控制器中的默认 new
方法以接收一些参数。最好的方法是什么?像这样更改路由并向方法添加参数?
get 'article/:id/new', to: 'articles#new', as: :new_article
在控制器中:
def new(master)
@article = current_user.articles.new(master)
end
有更好的方法吗?我让它工作的唯一方法是在表单中也使用隐藏字段,这根本不理想。
您有一个 link 适合您的 new
操作的表格?那里坏了,应该只是一个 link.
只需将参数添加到 link:
link_to "New Article", new_article_path( some_param: "some_value" )
然后在控制器中:
def new
@article = current_user.articles.new some_param: params[:some_param]
end
我想覆盖控制器中的默认 new
方法以接收一些参数。最好的方法是什么?像这样更改路由并向方法添加参数?
get 'article/:id/new', to: 'articles#new', as: :new_article
在控制器中:
def new(master)
@article = current_user.articles.new(master)
end
有更好的方法吗?我让它工作的唯一方法是在表单中也使用隐藏字段,这根本不理想。
您有一个 link 适合您的 new
操作的表格?那里坏了,应该只是一个 link.
只需将参数添加到 link:
link_to "New Article", new_article_path( some_param: "some_value" )
然后在控制器中:
def new
@article = current_user.articles.new some_param: params[:some_param]
end