Rails路由错误:我的控制器中未初始化的常量

时间:2014-08-13 19:47:59

标签: ruby-on-rails

我没有使用脚手架,而是为模型,控制器和视图使用了单独的生成器。所以我想我可能有一个或多个我的班级或文件名错了。这就是我所拥有的:

型号:a / m / smarter_measure.rb

class SmarterMeasure< ActiveRecord::Base
  attr_accessible :email, :name, :life_factors_score, :life_factors_readiness, :personal_attributes_score,
      :personal_attributes_readiness, :tech_comp_score, :tech_comp_readiness, :tech_knowledge_score,
      :tech_knowledge_readiness, :date_completed

end

控制器:A / C / smarter_measures_controller.rb

class SmarterMeasuresController < ApplicationController
  def index
    @results = SmarterMeasure.all
  end
end

视图:A / V / S / index.html.erb

<% @results.each do |r| %>

<% end %>

路线:

  resources :smartermeasures

当我浏览/ smartermeasures时,我得到:

Routing Error

uninitialized constant SmartermeasuresController

Try running rake routes for more information on available routes. 

3 个答案:

答案 0 :(得分:3)

尝试将路线更改为:

 resources :smarter_measures

答案 1 :(得分:3)

在模型和控制器类中使用CamelCase时,需要使用“_”(下划线)命名文件和路由,这意味着:

resources :smarter_measures

答案 2 :(得分:0)

其他答案是正确的,但如果你想坚持路线smartermeasures /你需要在路线文件中指定控制器

resources :smartermeasures, controller: 'SmarterMeasures'