【发布时间】:2013-09-05 16:04:14
【问题描述】:
在课堂上,我构建了一个 Pintrest 风格的应用程序,并且我最近为我的用户设置了一个显示操作。该链接在各个引脚上运行良好,但是当我尝试将 users#show 链接添加到名为“配置文件”的导航栏时,它无法导航到任何地方。 Profile 链接应该导航到users#show,但显示的 Profile 的 URL 是我的 pins#index,这是我的根路由。这是我导航栏中_header.html.erb 下的链接。
<div class="nav-collapse collapse">
<ul class="nav pull-right">
<% if user_signed_in? %>
<li><%= link_to "Add Trip", new_pin_path %></li>
<li><%= link_to "About", about_path %></li>
<li><%= link_to "Profile", @user %></li>
<li><%= link_to "Logout", destroy_user_session_path, method: :delete %></li>
<% else %>
<li><%= link_to "About", about_path%></li>
<li><%= link_to "Login", new_user_session_path %></li>
<% end %>
</ul>
</div>
这是我的users_controller.rb
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
@pins = @user.pins.page(params[:page]).per_page(20)
end
end
但是_pin.html.erb 中的针脚上的显示用户链接在我的pins#index 中呈现的效果很好。
<div class="box">
<p class= "description">
<%= pin.description %>
</p>
<%= link_to (image_tag pin.image(:medium)), pin %>
<p class= "author">
<strong>
Posted by <%= link_to pin.user.name, pin.user %>
</strong>
</p>
</div>
最后,如果我将_pin.html.erb <%= link_to pin.user.name, pin.user %> 中的相同链接复制到导航栏,我会得到undefined local variable or methodpin' 的#`。
这是我的routes.rb 以防万一。
devise_for :users
match 'users/:id' => 'users#show', as: :user
【问题讨论】:
标签: ruby-on-rails twitter-bootstrap devise show