2回目の質問になります。
このようなエラーが出てきました。@userのメソッドが定義されていないので呼び出せない
とうのは問題として理解できましたが、nilにならないよう実装するにはどうすればよろしいでしょうか?
**followers.html.erb** <aside class="col-xs-4"> <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"><%= @user.name %></h3> </div> <div class="panel-body"> <img class="media-object img-rounded img-responsive" src="<%= gravatar_url(@user, { size: 500 }) %>" alt=""> </div> </div> <%= render 'relationships/follow_button', user: @user %> </aside> <div class="col-xs-8"> <ul class="nav nav-tabs nav-justified"> <li class="<%= 'active' if current_page?(user_path(@user)) %>"><%= link_to user_path(@user) do %>Microposts <span class="badge"><%= @count_microposts %></span><% end %></li> <li class="<%= 'active' if current_page?(followings_user_path(@user)) %>"><%= link_to followings_user_path(@user) do %>Followings <span class="badge"><%= @count_followings %></span><% end %></li> <li class="<%= 'active' if current_page?(followers_user_path(@user)) %>"><%= link_to followers_user_path(@user) do %>Followers <span class="badge"><%= @count_followers %></span><% end %></li> </ul> <%= render 'users', users: @followers %> </div> </div> コード
追加のファイル
users_controller.rb
class
1 before_action :require_user_logged_in, only: [:index, :show, :followings, :followers] 2 3 def index 4 @users = User.all.page(params[:page]) 5 end 6 7 def show 8 @user = User.find(params[:id]) 9 @microposts = @user.microposts.order('created_at DESC').page(params[:page]) 10 counts(@user) 11 end 12 13 def new 14 @user = User.new 15 end 16 17 def create 18 @user = User.new(user_params) 19 20 if @user.save 21 flash[:success] = 'ユーザーを登録しました。' 22 redirect_to @user 23 else 24 flash.now[:danger] = 'ユーザの登録に失敗しました。' 25 render :new 26 end 27 28 def followings 29 @user = User.find(params[:id]) 30 @followings = @user.followings.page(parmas[:page]) 31 counts(@user) 32 end 33 34 def followers 35 @user = User.find(params[:id]) 36 @followers = @user.followers.page(params[:page]) 37 counts(@user) 38 end 39 40 private 41 42 def user_params 43 params.require(:user).permit(:name, :email, :password, :password_confirmation) 44 end 45 end 46end
回答よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー