无法生成控制器

时间:2014-03-23 13:44:53

标签: ruby-on-rails ruby ruby-on-rails-4

尝试运行时我在控制台中遇到的错误" rails生成控制器"是:

  

C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/actionpack-
  4.0.2 / lib / action_dispatch / routing / mapper.rb:239:在`default_controller_and_action':' Pages'不是受支持的控制器   名。

我试图运行的行是:

  

rails生成控制器页面主页规则计划论坛注册稀松布

任何人都可以详细说明为什么会这样吗?我还没有能够自己解决这个问题。

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:2)

您应该使用snake_case的命名约定来调用您的generate方法,这意味着:

rails generate controller pages

很好,但是

rails generate controller Pages

很糟糕。请参阅备注here

  

仅支持目录表示法。指定控制器   使用ruby常量表示法(eg. :controller => 'Admin::UserPermissions')可能导致路由问题并导致结果   警告。

以及抛出异常here的代码:

if controller.is_a?(String) && controller !~ /\A[a-z_0-9\/]*\z/
  message = "'#{controller}' is not a supported controller name. This can lead to potential routing problems."
  message << " See http://guides.rubyonrails.org/routing.html#specifying-a-controller-to-use"
  raise ArgumentError, message
end

答案 1 :(得分:0)

答案是重新安装整个rails套件和ruby ......乏味但它解决了这个问题。

答案 2 :(得分:0)

我记得我也一样,我猜你已经改变了Gemfile中的ruby / rails版本。

创建新项目并检查 - 检查是否正常。

当您使用一个版本的Rails执行rails new project时,您不能只升级,因为您已经拥有旧版本的框架目录/文件。