rails routes“uninitialized constant CoursesController”

时间:2014-02-04 09:00:02

标签: ruby-on-rails ruby ruby-on-rails-3 devise routes

我在rails项目中工作,我添加了以下路线:

get '/courses/:invitation_code'       =>  "courses#find_invitation"

在我的控制器上,我有以下操作:

def find_invitation
    @course = Course.where(["invitation_code = ?", params[:invitation_code]])
    if !@course.empty?
        respond_to do |format|
            format.html
            format.json {  render json: @course, success: true, error: false  }
        end
    end
end

但是,当我尝试去localhost:3000 / course / demo123时,我收到以下错误:

   / courses / demo123中的ActionController :: RoutingError未初始化   常数CoursesController

我不明白为什么。这个项目在这个项目中有设计和新设计,所以我不知道我是否必须做其他事情,以便使这个行动有效。

提前感谢您的帮助。

3 个答案:

答案 0 :(得分:0)

您必须在路线中指定控制器的命名空间。

尝试更改:

get '/courses/:invitation_code'       =>  "courses#find_invitation"

为:

get '/courses/:invitation_code'       => 'admin/courses#find_invitation'

答案 1 :(得分:0)

使用此:

match '/courses/invitation_code'       =>  "courses#find_invitation"

答案 2 :(得分:-1)

按如下方式转换根

match '/courses/:invitation_code'       =>  "courses#find_invitation"

网址必须与段ID一致,如下所示

本地主机:3000 /课程/ demo123