我正在尝试将值作为simple_form中的参数传递给控制器,但我无法读取该值。我的示例表格是这样的:
<%= simple_form_for 'page_contact_path', :method => "GET" do |f| %>
<%= f.input :name %>
<%= f.button :submit, 'Submit Form' %>
<% end %>
控制器看起来像这样:
def contact
@name = params[:name]
end
我只使用常规的form_for标记访问参数:
<%= form_for 'page_contact_path', :method => "POST" do |f| %>
<%= label_tag :name, "Full Name: " %>
<%= text_field_tag :name %><br/>
<%= submit_tag "Submit" %>
<% end %>
在我看来,我只是访问实例变量@name以查看是否有任何内容被传递。使用form_for我能够将值返回到视图,但simple_form没有返回任何内容。
非常感谢任何帮助。
答案 0 :(得分:2)
您应该将对象@contact
传递给simple_form
<%= simple_form_for @contact, path: 'page_contact_path' do |f| %>
<%= f.input :name %>
<%= f.button :submit, 'Submit Form' %>
<% end %>
修改强>
但是,如果您没有为对象建模,并且您需要使用表单来获取参数:name
,请使用form_for
使用rails helpers text_field_tag