Аналогичный вопрос задавался в других местах на этом сайте ( 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
.