我想創建一個表單,用於在我的網頁頁腳中註冊郵件列表。 我所做的是創建一個部分,在應用程序佈局的頁腳中呈現這個小表單。Rails 3.2創建每頁頁腳中使用的表單
下面是部分代碼:
<%= form_for(@mailing_list) do |f| %>
<% if @mailing_list.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@mailing_list.errors.count, "error") %> prohibited this mailing_list from being saved:</h2>
<ul>
<% @mailing_list.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :first_name %><br />
<%= f.text_field :first_name %>
</div>
<div class="field">
<%= f.label :last_name %><br />
<%= f.text_field :last_name %>
</div>
<div class="field">
<%= f.label :email %><br />
<%= f.text_field :email %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
所以這從腳手架生成的代碼我還在學習軌道。從我收集的信息中,我需要使用@mailing_list = MailingList.new實例化@mailing_list變量,但這裏的問題是郵件列表控制器中的NEW動作沒有被調用,因爲我不一定訪問該頁面。此表單位於每個頁面的頁腳中。
什麼是創建此表單的正確方法? 有沒有辦法做到這一點,而不需要在每個控制器中調用MailingList.new?
謝謝!
您可能會感興趣[細胞(HTTP://cells.rubyforge .org等/)。否則,使用'before_filter'來實例化你的'@ mailing_list',但是當你處理表單的時候會變得非常棘手(你需要重定向到某處......但是當你有錯誤時會發生什麼?) – 2013-03-17 21:37:00
謝謝m_x讓我意識到細胞之類的東西:) – Zippie 2013-03-17 21:50:29
感謝讓我意識到細胞。至於重定向和錯誤,我打算在這個特定的表單中使用ajax。 – hebime 2013-03-17 22:30:20