gpt4 book ai didi

ruby-on-rails - 开发日志:ActionView::Template::Error (undefined method `name' for nil:NilClass):

转载 作者:行者123 更新时间:2023-12-04 07:38:32 25 4
gpt4 key购买 nike

我是新手,这是 Richard Schneeman 的 Rails 教程。这就是我的 view/products 文件夹中的 index.html.erb 文件中的所有内容。

<% first_product = Product.first %>
<% lots_of_products = Product.includes(:user).all %>
<ul>
<% lots_of_products.each do |product| %>
<li>
Product Name: "<%= product.name %>"" costs $<%= product.price %>
Sold by <%= product.user.name %>
</li>
<% end %>
</ul>

问题在于 <%= product.user.name %> ,它给出了错误:

NoMethodError in Products#index undefined method `name' for nil:NilClass.

我的 Controller 文件是原版的,我的 routes.rb 有:

ControllerExercise::Application.routes.draw do
get '/products' => 'products#index'
resources :users
end

这是在模型中:

class Product < ActiveRecord::Base
belongs_to :user
attr_accessible :name, :price
end

class User < ActiveRecord::Base
has_many :products
attr_accessible :job_title, :name
end

非常感谢任何帮助。

最佳答案

你也可以试试

product.user.try(:name)

关于ruby-on-rails - 开发日志:ActionView::Template::Error (undefined method `name' for nil:NilClass):,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16153818/

25 4 0