Проверка правильности регистрации Rails / Devise работает в модели (Rspec), но не в представлении (Cucumber) - PullRequest
1 голос
/ 14 апреля 2011

Аналогичный вопрос задавался в других местах на этом сайте ( Ruby on rails: разработать, хотите добавить код приглашения? ), и хотя это решение сработало для них, я не могу заставить его работать ная, чтобы спасти свою жизнь.Код моей модели:

<code>
class User < ActiveRecord::Base
  devise :database_authenticatable, :registerable, :trackable, :validatable<br>
  attr_accessible :email, :name, :password, :password_confirmation
  attr_accessor :security_code<br>
  validate :correct_security_code, :on => :create<br>
  protected<br>
    def correct_security_code
      errors.add(:security_code, "Security code not valid") if security_code != "1234"
    end
end

У меня есть тесты как в RSpec, так и в Cucumber.Тесты RSpec прекрасно работают, показывая, что все хорошо с точки зрения валидации.Однако Cucumber / view неизбежно завершается ошибкой, вызывая ошибку проверки кода безопасности.Мой взгляд:

<code>
= simple_form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f|
  %p
    = f.label :email
    = f.text_field :email
    = f.error :email
  %p
    = f.label :name
    = f.text_field :name
    = f.error :name
  %p
    = f.label :password
    = f.password_field :password
    = f.error :password
    %br/
    = f.hint 'Minimum 4 characters'
  %p
    = f.label :password_confirmation
    = f.password_field :password_confirmation
    = f.error :password_confirmation
  %p
    = f.label :security_code
    = f.text_field :security_code
    = f.error :security_code
  = f.submit 'Sign up', :disable_with => "Submitting..."

Это сводит меня с ума, любая помощь будет принята с благодарностью!

Редактировать:
Нашли исправление благодаряРазработать Google Group.Оказывается, :security_code необходимо добавить как в список attr_accessible, так и в список attr_accessor.

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