0

我想将 id 从视图传递给控制器​​。我知道如何通过为它分配一个名称来传递它,例如::eid => @model["_id"]。然后我可以使用params[:"_id"].

但随后 url 将是/create?:eid="1234". 但我想要这个:create/1234。那我该怎么做

  1. 在视图中
  2. 如何在控制器中获取。
4

2 回答 2

0

这将需要一个自定义路线,例如:

post "/create/:eid" => "my_controller#my_action"

也就是说,将路由参数添加到创建操作是不寻常的。典型的方法只是向提交操作的表单添加隐藏输入。

于 2012-05-12T03:58:52.923 回答
0

您应该花一些时间了解路线。您需要定义一条路线来做您想做的事情。

在你的config/routes.rb

match '/create/:eid' => 'underscored_name_of_controller_here#create', :as => :create

那么,在你看来:

create_path(:eid => @model["_id"])

我还建议您的路线路径可能应该更具描述性,/create/:_id但本着回答您的问题的精神,我将其保留下来。

于 2012-05-12T03:59:17.747 回答