Rails - 获取关联的所有者

发布于 2024-11-07 22:58:38 字数 454 浏览 4 评论 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 %>

谢谢!

Hey. I'm starting in Rails and I guess my question is pretty easy. I have 2 models:

class Book < ActiveRecord::Base
belongs_to :owner
end

class Owner < ActiveRecord::Base
has_many :books
end

I'm trying to get the owner of the book on the show method, but everything I do says I can't find an Owner without an ID.

My controller has:

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

And my view:

<%= link_to owner.name, owner %>

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

驱逐舰岛风号 2024-11-14 22:58:38

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

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

在您看来:

<%= link_to @book.owner.name, @book.owner %>

Follow the relationship from the book to the owner, you don't even have to do this in the controller.

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

In your views:

<%= link_to @book.owner.name, @book.owner %>
眼眸 2024-11-14 22:58:38

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

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

在您看来,您必须使用这些全局 @ 变量:@book, @owner. bookowner 不起作用。

As you are using belongs_to :owner you can use it like this:

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

In your view you have to use these global @ variables: @book, @owner. book and owner won't work.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文