Rails - проверка по двум формам - PullRequest
0 голосов
/ 12 июня 2011

У меня есть то, что кажется нестандартным процессом регистрации:

[Добро пожаловать! введите свой адрес электронной почты и пароль] => [круто, введите гораздо больше информации] => [зарегистрирован]

У меня проблемы с тем, чтобы заставить рельсы распознать, что я хочу подтвердить только адрес электронной почты и пароль на странице 1, а все остальное - на странице 2.

Когда пользователь заходит на сайт, он видит мою страницу приветствия:

class WelcomeController < ApplicationController
  def index
    @user = User.new        
  end 
end


<%= form_for(@user) do %>           
            <div class="formItem">
                <%= label_tag(:email, "Your email address:") %>
                <%= text_field(:user, :email) %>
                <br clear="all" />
            </div>
            <div class="formItem">
                <%= label_tag(:password, "Select a password:") %>
                <%= password_field_tag(:password) %>
                <br clear="all" />
            </div>              
            <%= submit_tag("Sign up today - it's free and easy!", :class => "submitForm") %>                
        <% end %>

=

class UsersController < ApplicationController
  def create
    @user = User.new(params[:user]) 
    if @user.save   
      redirect_to(edit_user_path(@user, :noticeHeader => true ), :notice => 'Please take a minute and answer these additional questions.')                       
      else
        render :action => "welcome/index"
    end
  end 

=

Как только они нажимают «Зарегистрироваться», они видят мою следующую страницу полей формы.

Проблема, с которой я сталкиваюсь, заключается в том, что я проверяю поля_presence_of, которые находятся на обеих страницах в пользовательской модели. Поскольку эти поля отсутствуют на странице приветствия, при отправке страницы приветствия возникает ошибка « неопределенная локальная переменная или метод ». Например, я validates_presence_of: title , потому что я хочу, чтобы заголовок был обязательным, но он указан только на странице 2, поэтому страница 1 не проверяется должным образом.

Мысли о том, как справиться с этим?

Спасибо.

1 Ответ

0 голосов
/ 12 июня 2011

Взгляните на один из этих плагинов / гемов, где вы можете создавать формы на основе мастера.http://ruby -toolbox.com / Categories / rails_wizards.html мой любимый "ActsAsWizard"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...