У меня возникают проблемы с искателями на основе динамических атрибутов в рельсах. Они, кажется, не выходят за мою модель.Rails find_by макросы с отношением has_many
class Person < ActiveRecord::Base
belongs_to :team
end
class Team < ActiveRecord::Base
has_many :people
end
Так в сценарий/консоли, чтобы найти команды, имеющие лицо с ID 1, я должен быть в состоянии сделать:
>> Team.find_by_person_id(1)
Я получаю ошибку:
NoMethodError: undefined method `find_by_person_id'
Этот действительно является нечетным, поскольку поиск в противоположном направлении, то есть:
>>Person.find_all_by_team_id(1)
Успешно найдете всех людей 1.
Что нужно сделать, чтобы найти команду на person_id
?
Это также возвращается: NoMethodError: неопределенный метод 'люди» – SooDesuNe
Ну, я просто попытался, что на проект свежего рельсов, и она работает. Должна быть какая-то другая проблема, которая вызывает ошибку. Не могли бы вы точно описать, что вы вводите, начиная с терминала, пока не получите ошибку? – Petros
RAILS_ROOT/script/console Затем скопируйте и вставьте свое решение. рельсов v2.3.8 ">> Человек #" показывает "team_id" Если удалить has_many: люди, я получаю ошибку: ArgumentError: нет ассоциации не найдена для имени 'людей. Он еще не определен? Я здесь невежественный. – SooDesuNe