如何在表单上创建动作而不是在显示视图上打补丁 Rails
How to have create action on form instead of patch on show view Rails
一旦用户在我的网络应用程序上创建了一条记录,他就会被重定向到首页#show。
我想显示show view,还要添加create form view的部分。我怎样才能做到这一点?
为了在我的显示视图中强制执行 "create" 操作,我需要更改此表单的哪些内容?
<%= simple_form_for(@home, :html => { :class => "form-newsletter thirds" }) do |f| %>
<%= f.error_notification %>
<%= f.input :phone, placeholder: "Phone Number (5554440707)", label: false, input_html: { maxlength: 10, :style => 'height: 50px' }%>
<%= f.input :sender_name, placeholder: "Your Name", label: false, input_html: { maxlength: 60, :style => 'height: 50px' } %>
<div class="form-actions">
<%= f.submit "Place your Order", :type => :image, :src => image_path("checkout-logo-large.png") %>
</div>
<% end %>
出现问题是因为您将 @home
传递给已经保存记录的表单。
变化:
<%= simple_form_for(@home, ...
收件人:
<%= simple_form_for(Home.new, ...
这假定 Home.new
是您实例化新(未保存)模型的方式。或者,您可以更简单地将其分配给控制器中的 @home
,并按原样保留表格:
@home = Home.new
一旦用户在我的网络应用程序上创建了一条记录,他就会被重定向到首页#show。
我想显示show view,还要添加create form view的部分。我怎样才能做到这一点?
为了在我的显示视图中强制执行 "create" 操作,我需要更改此表单的哪些内容?
<%= simple_form_for(@home, :html => { :class => "form-newsletter thirds" }) do |f| %>
<%= f.error_notification %>
<%= f.input :phone, placeholder: "Phone Number (5554440707)", label: false, input_html: { maxlength: 10, :style => 'height: 50px' }%>
<%= f.input :sender_name, placeholder: "Your Name", label: false, input_html: { maxlength: 60, :style => 'height: 50px' } %>
<div class="form-actions">
<%= f.submit "Place your Order", :type => :image, :src => image_path("checkout-logo-large.png") %>
</div>
<% end %>
出现问题是因为您将 @home
传递给已经保存记录的表单。
变化:
<%= simple_form_for(@home, ...
收件人:
<%= simple_form_for(Home.new, ...
这假定 Home.new
是您实例化新(未保存)模型的方式。或者,您可以更简单地将其分配给控制器中的 @home
,并按原样保留表格:
@home = Home.new