【问题标题】:Routing Error uninitialized constant Meetups路由错误未初始化常量聚会
【发布时间】:2020-11-24 12:59:16
【问题描述】:

我目前遇到未初始化的常量聚会的路由错误

class MeetupsController < ApplicationController
  before_action :set_meetup, only: [:edit, :update, :destroy]
  def create
    @meetup = Meetup.new(host: current_user)
    @meetup.save
    redirect_to meetup_create_path(Wicked::FIRST_STEP, meetup_id: @meetup.id)
  end
end

这是我在 MeetupsController 中的创建函数,您可以看到控制器名称是复数,文件名是 'meetups_controller.rb'

下面是我的路线.rb

Rails.application.routes.draw do
  devise_for :users
  resources :users
  resources :meetups, except: [:show] do
    resources :create, controller: 'meetups/setup'
    resources :participations, only: [:new]
    member do
      get "create/review", to: 'meetups/setup#review'
    end
  end

  root to: 'pages#home'
  get 'join_meetup', to: 'pages#join_meetup'
  get 'events', to: 'pages#events'
  get 'landing', to: 'pages#landing'
end

任何帮助将不胜感激。

【问题讨论】:

  • 能否请您粘贴错误行。碰巧,是 Meetup 出错还是 Meetups?
  • 'Routing Error uninitialized constant Meetups' 这就是它所说的以及仅链接到存储项目的文件夹的 rails route

标签: ruby-on-rails error-handling routes controller


【解决方案1】:

错误跟踪会更有帮助。

但是查看路由文件中的resources :create, controller: 'meetups/setup',我可以猜测Rails 应用程序期望命名空间控制器为Meetups::SetupController。

因此您需要相应地更改您的控制器。您需要创建一个命名空间控制器,或者可能是一个作用域控制器。

参考:http://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing

【讨论】:

  • 感谢您提醒我有关 setupController 的信息,原来 setupcontroller 所在的文件夹名为 meeetups,并带有一个额外的“e”
  • 哦...看看您是否会跟踪复制粘贴错误,有人会注意到额外的e。没关系,如果我的回答对您有帮助,请接受答案并投票。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-01
  • 2015-05-23
相关资源
最近更新 更多