我的个人资料控制器上有一个错误“未初始化的常量ProfilesController”。这是profiles_controller.rb:
class ProfilesController < ApplicationController
def new
@profile = Profile.new
end
def create
@profile = Profile.new(params[:profile])
if @profile.save
redirect_to profile_path, notice: I18n.t('.profile.created')
else
render action: "new"
end
end
end
这是routes.rb:
resources :profiles, only: [:new, :create]
这是rake路线的输出:
profiles POST /profiles(.:format) profiles#create
new_profile GET /profiles/new(.:format) profiles#new
当我点击“new_profile_path”的链接时,我收到错误,但对我来说一切似乎都好吗?控制器名称是复数,路由可以吗?
答案 0 :(得分:2)
您很可能拼错了控制器文件。确认该文件是真的:`/app/controllers/profiles_controller.rb'
答案 1 :(得分:1)
真奇怪,我创建了一个带有生成器的Books控制器,将所有内容重命名为Profiles然后它正常工作。据我所知,路线是相同的。奇怪....
答案 2 :(得分:1)
当我检查控制器的名称是'profile_controller.rb'时,我遇到了同样的问题(虽然我手动创建了它)。但在定义中它是“ProfilesController”。
class ProfilesController&lt; ApplicationController中
def index
end
def new
@profile = Profile.new
end
def create
end
端
因此,如果您的控制器名称正确并且您已添加路线(“资源:配置文件”),那么它将按预期工作