2013-12-22 38 views
1

我將如何將下面的表單標籤轉換爲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

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是一個對象,它具有sender,subjectmessage的方法,並且您在路由文件中有resources :contact_email

+0

你擊敗了某人。 +1 –

相關問題