我将rails应用程序2.0.2更新为2.3.5。我使用活性支架作为管理部分。
我的代码中没有更改任何内容,但更新会出现问题。 我有一个控制器'admin / user_controller'来管理用户。
以下是控制器的代码:
class Admin::UserController < ApplicationController
layout 'admin'
active_scaffold :user do |config|
config.columns.exclude :content, :historique_content, :user_has_objet, :user_has_arme, :user_has_entrainement, :user_has_mission, :mp, :pvp, :user_salt, :tchat, :notoriete_by_pvp, :invitation
config.list.columns = [:user_login, :user_niveau, :user_mail, :user_bloc, :user_valide, :group_id] #:user_description, :race, :group, :user_lastvisited, :user_nextaction, :user_combats_gagner, :user_combats_perdu, :user_combats_nul, :user_password, :user_salt, :user_combats, :user_experience, :user_mana, :user_vie
config.create.link.page = true
config.update.link.page = true
config.create.columns.add :password, :password_confirmation
config.update.columns.add :password, :password_confirmation
config.create.columns.exclude :user_password, :user_salt
config.update.columns.exclude :user_password, :user_salt
config.list.sorting = {:user_login => 'ASC'}
config.subform.columns = []
end
end
此代码没有随更新而改变,但当我进入此页面时,我收到此错误:
uninitialized constant Users
/Users/Kiva/.gem/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:443:in `load_missing_constant'
/Users/Kiva/.gem/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:80:in `const_missing'
/Users/Kiva/.gem/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:92:in `const_missing'
/Users/Kiva/.gem/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/inflector.rb:361:in `constantize'
/Users/Kiva/.gem/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/inflector.rb:360:in `each'
/Users/Kiva/.gem/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/inflector.rb:360:in `constantize'
/Users/Kiva/.gem/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/string/inflections.rb:162:in `constantize'
/Users/Kiva/Documents/Projet-rpg/jeu/vendor/plugins/active_scaffold/lib/extensions/reverse_associations.rb:28:in `reverse_matches_for'
/Users/Kiva/Documents/Projet-rpg/jeu/vendor/plugins/active_scaffold/lib/extensions/reverse_associations.rb:24:in `each'
/Users/Kiva/Documents/Projet-rpg/jeu/vendor/plugins/active_scaffold/lib/extensions/reverse_associations.rb:24:in `reverse_matches_for'
/Users/Kiva/Documents/Projet-rpg/jeu/vendor/plugins/active_scaffold/lib/extensions/reverse_associations.rb:11:in `reverse'
/Users/Kiva/Documents/Projet-rpg/jeu/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/column.rb:117:in `autolink?'
/Users/Kiva/Documents/Projet-rpg/jeu/vendor/plugins/active_scaffold/lib/active_scaffold.rb:107:in `links_for_associations'
/Users/Kiva/Documents/Projet-rpg/jeu/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/columns.rb:62:in `each'
/Users/Kiva/Documents/Projet-rpg/jeu/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/columns.rb:62:in `each'
/Users/Kiva/Documents/Projet-rpg/jeu/vendor/plugins/active_scaffold/lib/active_scaffold.rb:106:in `links_for_associations'
/Users/Kiva/Documents/Projet-rpg/jeu/vendor/plugins/active_scaffold/lib/active_scaffold.rb:59:in `active_scaffold'
/Users/Kiva/Documents/Projet-rpg/jeu/app/controllers/admin/user_controller.rb:11
我搜索了2天,但我没有发现问题,请你帮帮我。
答案 0 :(得分:3)
您的应用程序中的命名约定似乎有些错误
它应该是:
class Admin::UsersController < ApplicationController
不是UserController。也许它不能解决你的问题,但值得一试!
答案 1 :(得分:0)
从Rails 2.3.x开始,您必须安装Render Component插件:
./script/plugin install git://github.com/ewildgoose/render_component.git -r rails-2.3
请参阅此处的说明:http://wiki.github.com/activescaffold/active_scaffold/getting-started
答案 2 :(得分:0)
模型的定义方式似乎存在问题。使用rake备份任务访问数据库中的表时,我遇到了同样的问题。问题是我通过“belongs_to”在数据库中定义了一个表。我认为我不需要该表的模型,但constantize仍然失败。介绍该模型解决了这个问题。
表:users_clients 型号:UsersClient