Rails - 获取协会的所有者

时间:2011-05-17 14:29:18

标签: ruby-on-rails ruby-on-rails-3 rails-models

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

谢谢!

2 个答案:

答案 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, @ownerbookowner无效。