将表单标记转换为简单表单

时间:2013-12-22 19:14:50

标签: ruby-on-rails ruby

我如何将此表单标记转换为form_for?

<%= form_tag(contact_email_path, :method => 'post') do %>

    <%= label_tag "Your email" %>


    <%= text_field_tag "sender", @sender, :autofocus => true %>
        <%= label_tag "Subject" %>

    <%= text_field_tag "subject", @subject %>

    <%= label_tag "Message" %>

    <%= text_area_tag "message", @message %>

 <%= submit_tag "Send Email" %>
<% end %>

1 个答案:

答案 0 :(得分:1)

form_for是创建用于创建或编辑资源的表单的帮助程序。

如果您在此处拥有要在数据库中创建的资源,则可以使用此方法。你在这里看到的不是创建资源,而是发送电子邮件。如果是这种情况,那么form_tag可能是更好的选择。

但是,如果您正在尝试在数据库中创建新资源(即ContactEmail或其他类的新实例),那么您可以这样做:

<%= form_for @contact_email do |f| %>
  <%= f.label :sender, "Your email" %>
  <%= f.text_field :sender, :autofocus => true %>

  <%= f.label :subject %>
  <%= f.text_field :subject %>

  <%= f.label :message %>
  <%= f.text_area :message %>

  <%= f.submit "Send Email" %>
<% end %>

这假设@contact_email是一个包含方法sendersubjectmessage且您的路径文件中有resources :contact_email的对象。< / p>