Ruby on rails 路由错误UsersController

Ruby on rails 路由错误UsersController,ruby-on-rails,Ruby On Rails,我有一个链接将用户带到他们的个人资料页面。它以前可以工作,但现在我继续得到一个未初始化的常量UsersController 路线: Rails.application.routes.draw do resources :users resources :questions devise_for :users root 'home#index' get '/users/:id' => 'home#profile' end Index.html.erb: <div

我有一个链接将用户带到他们的个人资料页面。它以前可以工作,但现在我继续得到一个未初始化的常量UsersController

路线:

Rails.application.routes.draw do
  resources :users
  resources :questions

  devise_for :users
  root 'home#index'
  get '/users/:id' => 'home#profile'
end
Index.html.erb:

<div class="row">
    <div class="col-md-8">
    <% if @questions.any? %>
        <% @questions.each do |question| %>
      <div class="well">
          <div class="media">
            <a class="pull-left">
            <% if question.user.avatar.blank? %>
                <img src="http://www.adtechnology.co.uk/images/UGM-default-user.png" style="width: 75px;">
            <% else %>
                <%= image_tag question.user.avatar, :style => "width:75px;" %>
            <% end %>
            </a>
            <div class="media-body">
                <h4 class="media-heading"><%= link_to question.title, question_path(question), :class => "ques" %></h4>
              <p class="text-right">By <%= link_to question.user.username, question.user, :class => " bg" %></p> <!-- that's what's causing the error -->
              <p class="text-muted"><%= truncate(question.description, :length => 50) %></p>
              <ul class="list-inline navbar-right list-unstyled">
                <li><span style="padding-right: 10px;" ><i class="fa fa-calendar"></i> asked <%= time_ago_in_words(question.created_at) %> ago </span></li>
              </ul>
           </div>
        </div>
      </div>
        <% end %>
        <% else %>
            <p>No content yet</p>
      <% end %> 
正如我之前所说,我真的不知道是什么导致了错误。昨天它工作正常,我根本没有做任何更改。

您应该使用

假设question.user.idget的用户对应的id


通过参数[:id]访问Profile controller中的用户id。

我通过将资源放在底部来修复它:

Rails.application.routes.draw do
  devise_for :users
  root 'home#index'
  get '/users/:id' => 'home#profile'
  resources :users
  resources :questions
end

我的猜测是,它覆盖了为用户设计的
design\u

我认为这是因为您添加了
资源:用户
,这将寻找一个用户控制器-值得澄清的是,您是否想使用
资源:用户
访问用户或自定义路由,如
获取“/users/:id”=>“主页#配置文件”
路线。基本上是自定义路线。想让纵断面图有“rake routes”的url users/idPlease post输出@Raymond-你有UsersController吗?没有,我没有用户控制器,我只是更新了问题我更新了rake routes。它是get users/:id home#profiles您还可以完全删除
资源:用户
——如果没有
users控制器
Rails.application.routes.draw do
  devise_for :users
  root 'home#index'
  get '/users/:id' => 'home#profile'
  resources :users
  resources :questions
end