既にサインアップしているユーザーの画像を含むサインアップおよびログイン ページがあります。アプリケーションにユーザーをそれぞれログインおよびサインアップするためのセッションとユーザーコントローラーがあります。
セッションコントローラー
def new
@users = User.last(3)
end
def create
user = User.find_by_email(params[:session][:email].downcase)
if user && user.authenticate(params[:session][:password])
sign_in user
redirect_back_or user
else
flash.now[:error] = "Wrong email/password combination"
render 'new'
end
end
次に、インスタンス変数 @user を使用して、最新の 3 人のユーザーの画像を表示します。これは私のユーザーコントローラーにも当てはまります。slider
「新しい」ビューにパーシャルがあります
_slider.html.erb
<% for user in @users do %>
<div class="item">
<%= image_tag user.photos.first.image.url(:large) %>
<div class="carousel-caption">
<h4><%= user.name %></h4>
<p><%= user.tagline %></p>
</div>
</div>
<% end %>
これは、サインアップ/ログインのフォームにエラーが含まれるまで、サインアップとログインの両方のページで正常に機能します。このエラーがスローされundefined method 'each' for nil:NilClass
ます。@user
ページをレンダリングした後、変数は使用できないと思います。
新しいアクションを再レンダリングした後、それを利用可能にするにはどうすればよいですか? またはどうすればいいですか?ありがとう