类别/show.html.erb
<body class="home">
<% @category.subcategories.each do |subcategory| %>
<%= link_to subcategory.name, subcategory.id %>
<% end %>
抛出 类别中没有方法错误#show Fixnum:Class 的未定义方法“model_name”
网址是http://example.com:3000/category/11
路线.rb
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并将您的SubcategoryController
重命名为SubcategoriesController
。
并且在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/