4

我正在使用以下内容: Rails 3.0.3 Vhochstein's Fork for Activescaffold rake 0.9.0 ruby​​ 1.9.2

我有一个名为 component 的模型,它与 category 具有 belongs_to 关系。这是使用 activescaffold 建模的,并且运行良好。我休息了几个月,现在我回到它时,每当我尝试访问组件模型时,activescafold 都会给出“ActionController::RoutingError (undefined method `class_name' for nil:NilClass):”错误。我认为这是由于关系(belongs_to)。如果我从模型中删除关系,它会起作用。如果我将其添加回来,它会失败!

有任何想法吗?

这是代码:

路线

  namespace :admin do 
resources :users,:roles,:vendors,:shipping_modes,:order_types,:sizes,
          :suppliers,:categories,:sub_categories, :material_types,:colours,
          :materials,:styles,:surcharges, :budget_templates, :budget_components do
  as_routes      
end 

结尾

控制器

class Admin::BudgetComponentsController < ApplicationController
layout 'site_admin'

active_scaffold :budget_component do |config|
  config.actions.exclude :delete,:update
  config.columns[:category].form_ui = :select 
  config.create.columns = [:name,:category]
  config.list.columns = [:name,:category]
  config.show.columns = [:name,:category]
  config.show.columns.add_subgroup "Time Details" do |name_group|
    name_group.add :created_at,:updated_at
  end

  config.list.sorting = {:name => 'ASC'}    
end
end

模型

class BudgetComponent < ActiveRecord::Base
  belongs_to :category

  validates_presence_of :name, :category_id
  validates_uniqueness_of :name
end
4

1 回答 1

0

我有一个类似的问题。解决方案是再次添加您的nil:NilClass,然后它将起作用。

于 2012-03-21T01:48:41.550 回答