0

我正在玩红宝石,试图实现一个基本的社交网络,比如应用程序。

我有两个要显示状态更新的视图,用户#show 和主页(您可以在其中添加状态更新并可视化您自己的)。

在家里,它在 Home#index 中返回一个错误 TypeError,无法将 nil 转换为确切的数字。但是,如果我将@user 硬编码为 User.find(1) 工作正常,那么如果@user = current_user (我正在使用设计),它似乎就会发生冲突。

家庭控制器:

    class HomeController < ApplicationController
  def index
    @user = current_user
    @new_status_update = current_user.status_updates.build if user_signed_in?
    @status_updates = @user.status_updates
  end
end

用户控制器:

class UsersController < ApplicationController
  before_filter :authenticate_user!
  load_and_authorize_resource :only => :index

  def show
    @user = User.find(params[:id])
    @status_updates = @user.status_updates
  end

end

视图中的循环是相同的

4

1 回答 1

0

好的,我通过将 current_user 包装在 User.find(current_user) 中解决了这个问题

这可能不是最好的方法,但至少有效..

于 2012-05-25T12:37:55.017 回答