嘿。我从Rails开始,我想我的问题很简单。我有2个型号:
class Book < ActiveRecord::Base
belongs_to :owner
end
class Owner < ActiveRecord::Base
has_many :books
end
我正试图通过show方法获得本书的所有者,但我所做的一切都说我找不到没有ID的所有者。
我的控制器有:
def show
@book = Book.find(params[:id])
@owner= Owner.find(params[:owner_id])
end
我的观点:
<%= link_to owner.name, owner %>
谢谢!
答案 0 :(得分:3)
按照书中与所有者的关系,您甚至不必在控制器中执行此操作。
def show
@book = Book.find(params[:id])
end
在您的观点中:
<%= link_to @book.owner.name, @book.owner %>
答案 1 :(得分:1)
当您使用belongs_to :owner
时,您可以像这样使用它:
def show
@book = Book.find(params[:id])
@owner= book.owner
end
在您的视图中,您必须使用这些全局@
变量:@book, @owner
。 book
和owner
无效。