是否可以在rails中的表单数据之外提交另一个参数?我的问题是我为不同的类渲染不同的表单并将它们发送到相同的create方法。我想发送带有表单的类(作为值不是哈希中的键)。 类似于:type参数(实际上不起作用)
<%= form_for(@an_object, :url => { :controller => :a_controller, :action => :create },
:type => @an_object.class.to_s.underscore) do |f| %>
帖子消息如下:
{"commit"=>"Create Class of an Object",
"authenticity_token"=>"/iqu0A8/AocDT3HyjL5/+bKZiLkyr4FE71u/mc8Wx0Y=",
"utf8"=>"✓",
"class_of_an_object"=>{"name"=>"a name",
"description"=>"a description"}}
我会有一个"type" => "class_of_an_object"
,但是直接在哈希中不在“class_of_an_object”哈希中。
答案 0 :(得分:13)
<%= form_for @an_object,
:url => { :controller => :a_controller,
:action => :create,
:type => @an_object.class.to_s.underscore } do |f| %>
我更喜欢使用命名路线
<%= form_for @object, :url => object_path(@object, :type => "whtever"), :html => {:method => :post} do |f| %>
答案 1 :(得分:4)
这对我有用:
<%= form_for @foo, :url => foo_path(:type => "whatever"), :html => {:method => :post} do |f| %>