私はアプリのような基本的なソーシャルネットワークを実装しようとしているルビーで遊んでいます。
ステータスの更新を表示する2つのビュー、user#showとホームページ(ステータスの更新を追加し、独自のビューも表示します)があります。
ホームでは、Home#indexにエラーTypeErrorが返され、nilを正確な数値に変換できません。しかし、User.find(1)が正常に機能するように@userをハードコーディングすると、@ user = current_user(私はdeviseを使用しています)の場合と同じように競合するように見えます。
ホームコントローラー:
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
ループはビューで同じです