如何在视图中将id从视图传递给控制器

时间:2012-05-12 03:18:37

标签: ruby-on-rails ruby

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

但是网址将是/create?:eid="1234"。但我想要这个:create/1234。那我该怎么做呢

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

2 个答案:

答案 0 :(得分:0)

这需要custom route,例如:

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

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

答案 1 :(得分:0)

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

config/routes.rb

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

然后,在您看来:

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

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