Динамические искатели на основе атрибутов с активной записью RoR, Model.find_by_ не работает
Я новичок в RoR,
Среда: Rails 3.09 и ruby 1.9.2p290 установлены на леопарде
Я внимательно слежу за учебником Майкла Хартла (http://ruby.railstutorial.org/). В главе 7 с консолью мы должны протестировать этот код:
$ rails console --sandbox
>> User.create!(:nom => "Michael Hartl", :email => "mhartl@example.com",
?> :password => "foobar", :password_confirmation => "foobar")
>> user = User.find_by_email("mhartl@example.com")
>> user.has_password?("foobar")
=> true
Моя проблема с использованием искателей, основанных на атрибутах, find_by_ (имя атрибута). В моем примере find_by_email.
На самом деле, rails, похоже, не принимает find_by_ в качестве метода. В приведенном выше примере в строке user.has_password?("Foobar") rails возвращает ошибку: NoMethodError: undefined метод. Метод has_password? хорошо определено в моей модели.
Я проверил документ API рельсов 3.0.9, и если я использую этот способ:
>> user = User.where(:email => "mhartl@example.com")
тогда это работает....
Поэтому мне интересно, почему я не могу использовать метод find_by_? Другие методы поиска работают ex: find.first, find.last и т. Д.
Спасибо, чтобы помочь мне Фабьен
1 ответ
На самом деле искатель работает в файле модели, но не в консоли (среда разработки). причудливый Фабьен