Lea*_*RoR 39 ruby-on-rails simple-form ruby-on-rails-3.1
我有一个正在使用的表单,form_tag并且不确定如何将它与simple_form gem一起使用.这是我的表单看起来的样子:
<%= form_tag create_multiple_prices_path, :method => :post do %>
<% @prices.each_with_index do |price, index| %>
<%= fields_for "prices[#{index}]", price do |up| %>
<%= render "fields", :f => up %>
<% end %>
<% end %>
<%= submit_tag "Done" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
可以吗?如何form_tag更改正确使用simple_form?使用它时fields_for怎么样?新手可以使用一些帮助.
谢谢.
bar*_*own 136
即使您没有创建与模型绑定的表单,也可以使用simple_form.
以此登录表格为例:
<%= simple_form_for :signin, { url: signin_path } do |f| %>
<%= f.input :email %>
<%= f.input :password %>
<%= f.button :submit, "Sign In" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
这将产生如下的参数:
{
...
"signin" => {
"email"=>"test@test.com",
"password"=>"[FILTERED]"},
"commit"=>"Sign In"
}
}
Run Code Online (Sandbox Code Playgroud)
在您的控制器中,您可以使用以下命
params[:signin][:email] ...
Run Code Online (Sandbox Code Playgroud)
Ine*_*neu 17
simple_form是一个包装器form_for,而不是form_tag.您可以使用simple_form_for而不是创建具有指定内容的标记form_for,但它与简单形式无关.form_tag<form>
你可以避免使用
params[:signin][:email]
Run Code Online (Sandbox Code Playgroud)
运用
<%= f.input :email, input_html: { name: "email" } %>
Run Code Online (Sandbox Code Playgroud)
所以
params[:email]
Run Code Online (Sandbox Code Playgroud)