У меня есть следующие модели:
project.rb
has_many :tasks
task.rb
belongs_to :project
has_many :assignments
has_many :users, :through => :assignments
user.rb
has_many :assignments
has_many :tasks, :through => :assignments
assignment.rb
belongs_to :task
belongs_to :user
Так, например:
Project.first.title # => "Манхэттен"
Project.first.tasks.map (&: name) # => ['Найти ученых', 'Найти деньги', 'Найти место']
Project.first.tasks.first.users.map (&: full_name) # => ['Джеймс Максвелл', 'Эварист Галуа', 'Жюль Верн']
Мой первый вопрос:
Как я могу найти имена всех людей, возможно, с символом, чтобы сработать в одном кадре, я попытался:
Project.first.tasks.users.full_name #=> AND FAILED
Project.first.tasks.map(&:users).full_name #=> AND FAILED
Project.first.tasks.map(&:users).map(&:full_name) #=> AND FAILED
Есть идеи?
И я думаю, что следующий вопрос может быть в том же парке:
Как мне найти проект с условиями, которые выполняют поиск атрибута «полное_имя» пользователей по его задачам?
* ** 1042 тысяча сорок-один * Пример
Project.all(:include => {:tasks => :users}, :conditions => ['tasks.users.full_name LIKE ?', query]) #this failed
Я думаю, что проблема в 'tasks.users'.
Спасибо всем, счастливого дня благодарения!