我想要使用這種形式捕獲電子郵件地址:爲什麼此表單不能從模型中獲取數據?
我決定爲此創建一個模型,並將視圖和控制器用於僅服務於靜態資產的不同模型(想想:簡報註冊)。
<%= form_for (@signup) do |f| %>
<% if @signup.errors.any? %>
<div id="error_explanation">
<p><%= pluralize(@signup.errors.count, "error") %> prohibited this post from being saved:</p>
<ul>
<% @signup.errors.full_messages.each do |user| %>
<li><%= user %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :email_address %><br />
<%= f.email_field_tag :email_address %>
</div>
<div class="actions">
<%= f.submit %>
</div>
如何獲得這種形式的工作?我得到undefined method signups_path for #<#<Class:0x00000004f1feb0>:0x00000004f09a98>
異常,這是可以理解的(它按照慣例尋找SignupsController)。
但我希望窗體顯示在一個單獨的控制器中,我稱之爲PagesController
並將其發送到註冊模型。
附加信息:
我試圖通過網址:pages_path形式,並得到同樣的異常。
# view inside PagesController
<div class="four columns">
<%= render 'form' %>
</div>
#stub of model
class PagesController < ApplicationController
def index
@signup = Signup.new
end
def create
@signup = Signup.new(params[:signup])
end
end
你設置的路線?將它們添加到問題中+請使用'url:pages_path'更新表單 – Damien 2012-02-01 19:26:38
您能否爲SignUp顯示您的類定義?我認爲它需要ActiveModel – Webjedi 2012-02-01 19:30:00
+改變'f.email_field_tag'爲'f.email_field' +保存'@ signup'在PagesController#create和'redirect_to'某處 – Damien 2012-02-01 19:31:19