Я хотел бы захватить адреса электронной почты с помощью этой формы:
Я решил создать модель только для этого и использовать представления и контроллер для другой модели, которая обслуживает только статические активы (например, рассылка новостей).регистрация).
<%= 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
, и отправляла его в модель Registration.
Дополнительная информация:
Я попытался передать url: 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