0

嘿。我从 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 %>

谢谢!

4

2 回答 2

3

遵循从书到所有者的关系,您甚至不必在控制器中执行此操作。

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

在您看来:

<%= link_to @book.owner.name, @book.owner %>
于 2011-05-17T14:34:59.743 回答
1

在使用belongs_to :owner时,您可以像这样使用它:

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

在您看来,您必须使用这些全局@变量:@book, @owner. book并且owner不会工作。

于 2011-05-17T14:44:18.933 回答