отношение activescaffold принадлежит_то, приводящее к ошибке маршрутизации - PullRequest
4 голосов
/ 21 сентября 2011

Я использую следующее: Rails 3.0.3 Вилка Вохштейна для Activescaffold грабли 0.9.0 рубин 1.9.2

У меня есть модель с именем component, у которой есть отношение own_to с категорией. Это было смоделировано с использованием activescaffold и работало довольно хорошо. Я взял перерыв на пару месяцев, и теперь, когда я вернулся к нему, activescafold дает "ActionController :: RoutingError (неопределенный метод` имя_класса 'для nil: NilClass): "ошибка всякий раз, когда я пытаюсь получить доступ к компонентной модели. Я понял, что это связано с отношениями (принадлежат_). Если я удаляю отношения из модели, это работает. Если я добавлю его обратно, он потерпит неудачу!

Есть идеи?

Вот код:

Маршруты

  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

1 Ответ

1 голос
/ 21 марта 2012

У меня была похожая проблема.Решение состоит в том, чтобы добавить ваш nil:NilClass снова, тогда он будет работать.

...