gpt4 book ai didi

ruby-on-rails - rails : undefined method `model_name' for Fixnum:Class

转载 作者:行者123 更新时间:2023-12-04 04:43:40 24 4
gpt4 key购买 nike

类别/show.html.erb

<body class="home">
<% @category.subcategories.each do |subcategory| %>
<%= link_to subcategory.name, subcategory.id %>
<% end %>

throw
类别中没有方法错误#show
Fixnum:Class 的未定义方法“model_name”

网址是 http://example.com:3000/category/11

路由文件
FirstApp::Application.routes.draw do
root 'category#index'
resources :category
end

类别 Controller
class CategoryController < ApplicationController

def index
@categories = Category.all
end

def new
end

def show
@category = Category.find params[:id]
end
end

子类别 Controller 为空
class SubcategoryController < ApplicationController

def create
end

def new
end

def show
@category = Category.find(params[:id])
end
end

方法 category.subcategories 在控制台中工作。我可能遗漏了一些明显的东西。

最佳答案

试试这个:

<%= link_to subcategory.name, subcategory %>

当您通过 subcategory.id作为此方法的第二个参数,Rails 尝试从 Fixnum 猜测路径。你通过了。由于这是不可能的,因此引发了错误。

你还应该添加
resources :subcategories

到您的 routes.rb 并重命名您的 SubcategoryControllerSubcategoriesController .

并在 SubcategoriesController#show应该是:
@subcategory = Subcategory.find(params[:id])

关于ruby-on-rails - rails : undefined method `model_name' for Fixnum:Class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18530533/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com