【问题标题】:Rails: Show Followers/FollowingRails:显示关注者/关注者
【发布时间】:2012-02-14 06:57:28
【问题描述】:

我目前在 Rails 教程的这一部分遇到问题:显示关注者/关注者。确定的问题是:

Missing partial users/user with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}. Searched in:  * "/Users/--/rails/--/app/views"

提取的源代码(第 3 行附近):

<% unless @users.empty? %>
 <ul class="users">
  <%= render @users %>
 </ul>
 <%= will_paginate @users %>
<% end %>

用户控制器

def following
   @title = "Following"
   @user = User.find(params[:id])
   @users = @user.followed_users.paginate(page: params[:page])
   render 'show_follow'
end

def followers
   @title = "Followers"
   @user = User.find(params[:id])
   @users = @user.followers.paginate(page: params[:page])
   render 'show_follow'
end

routes.rb

resources :users do
     member do
       get :following, :followers
     end
end

感谢您的帮助!

【问题讨论】:

  • 看起来您的 user 部分位于错误目录或丢失。预计在app/users/_user.html.erb
  • @osahyoun 其实应该在app/views/users/_user.html.erb.
  • 哎呀。谢谢你抓住那个。 +1

标签: ruby-on-rails ruby ruby-on-rails-3 relationship


【解决方案1】:

复制users/index.html.erb,这意味着显示“所有用户”并将代码粘贴到名为users/_user.html.erb的创建中

【讨论】:

    【解决方案2】:

    以防万一其他人偶然发现这个问题,本书中有一个部分在关注者/跟随功能(大约在清单 12.24 左右)之前解决了 _user.html.erb 部分(参见 Ruby on Rails 教程,清单9.46 起)。它占用了 app/views/users/index.html.erb 的一部分并放在以下位置,这对于关注者/关注功能的正常工作至关重要:

    app/views/users/_user.html.erb
    <li>
     <%= gravatar_for user, size: 50 %>
     <%= link_to user.name, user %>
     <% if current_user.admin? && !current_user?(user) %>
       | <%= link_to "delete", user, method: :delete,
                                     data: { confirm: "You sure?" } %>
     <% end %>
    </li>
    

    确保您调整您的 app/views/users/index.html.erb 以删除代码并使用渲染部分替换它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-23
      • 2013-11-13
      • 2013-10-02
      相关资源
      最近更新 更多