我知道有几个这样的问题,但我找不到我的情况。我也检查了该网站:https://github.com/bitmakerlabs/debugging-guide/wiki/Rails-error:-Routing-Error:-uninitialized-constant 它看起来应该工作。找不到问题出在哪里。
错误看起来像:
未初始化的常量ProfileController
在我的app / controllers文件夹中,我有profiles_controller.rb文件:
class ProfilesController < ApplicationController
# GET to /users/:user_id/profile/new
def new
# Render blank profile details form
end
end
我在app / views / profiles / new.html.erb下有一个视图文件,并使用<%= link_to "Create your profile!", new_user_profile_path(user_id: current_user.id) if user_signed_in? %>
链接到该文件。在我的路线中,我有:
new_user_profile_path GET /users/:user_id/profile/new(.:format)
轮廓#新
你能指导我一个错误吗?我能找到的每个答案都与命名有关,而我看起来很好(profiles_controller.rb和ProfilesController类)。我错过了一些明显的东西吗
编辑:
我的routes.rb文件摘要:
resources :users do
resources :profile
end
编辑2:
在我的项目中,一个用户可能只有一个配置文件。路由... user / profile / ...比... user / profiles /...
更有意义答案 0 :(得分:1)
您需要更改路线的名称。
的routes.rb
profiles#new
答案 1 :(得分:0)
还有另一种方法可以解决这个问题。因为每个用户在route.rb中都有一个配置文件(该关联在我的项目中,但我没有提及它,因为我认为它不相关)而不是将“配置文件”更改为“配置文件”,这足以改变“资源:配置文件“进入”资源:配置文件“。这样我以后的路线就有了user / profile / ...这更有意义。