Rails - получите владельца ассоциации - PullRequest
0 голосов
/ 17 мая 2011

Эй.Я начинаю с Rails и думаю, мой вопрос довольно прост.У меня есть 2 модели:

class Book < ActiveRecord::Base
belongs_to :owner
end

class Owner < ActiveRecord::Base
has_many :books
end

Я пытаюсь найти владельца книги по методу шоу, но все, что я делаю, говорит, что я не могу найти владельца без идентификатора.

Мой контроллер имеет:

 def show
@book = Book.find(params[:id])
@owner= Owner.find(params[:owner_id])
end

И мой взгляд:

<%= link_to owner.name, owner %>

Спасибо!

Ответы [ 2 ]

3 голосов
/ 17 мая 2011

Следите за отношениями между книгой и владельцем, вам даже не нужно делать это в контроллере.

def show
  @book = Book.find(params[:id])
end

По вашему мнению:

<%= link_to @book.owner.name, @book.owner %>
1 голос
/ 17 мая 2011

Поскольку вы используете belongs_to :owner, вы можете использовать его так:

def show
  @book = Book.find(params[:id])
  @owner= book.owner
end

На ваш взгляд, вы должны использовать эти глобальные @ переменные: @book, @owner.book и owner не будут работать.

...