Ruby on rails 路由错误UsersController
我有一个链接将用户带到他们的个人资料页面。它以前可以工作,但现在我继续得到一个未初始化的常量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
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