我想将id从视图传递给控制器。我知道如何通过为其分配名称来传递它::eid => @model["_id"]
。然后我可以使用params[:"_id"]
来获取控制器。
但是网址将是/create?:eid="1234"
。但我想要这个:create/1234
。那我该怎么做呢
答案 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>