почему эта форма не берет данные из модели? - PullRequest
0 голосов
/ 01 февраля 2012

Я хотел бы захватить адреса электронной почты с помощью этой формы:

Я решил создать модель только для этого и использовать представления и контроллер для другой модели, которая обслуживает только статические активы (например, рассылка новостей).регистрация).

<%= 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

1 Ответ

0 голосов
/ 01 февраля 2012

попробуй:

<%= form_for @sighup, :url => {:controller => :pages, :action => :index} do |f| %>

и я надеюсь, что вы не забыли

<% end %>
...