Я новичок в 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.определено в моей модели.
Я проверил документ API рельсов 3.0.9, и если я использую этот способ:
>> user = User.where(:email => "mhartl@example.com")
, то это работает ....
Поэтому мне интересно, почему я не могу использовать метод find_by_? Другие методы поиска работают ex: find.first, find.last и т. Д.
Спасибо, что помогли мне fabien