我正在尝试检查photos#latest
视图中的一些规则,但我不知道如何在照片控制器中定义用户。
我想查一下:
<% if current_user == @photo.user or current_user.has_role? :admin %>
<%= link_to "Editar Spot", edit_user_photo_path(@user, @photo), class: "edit" %>
<% end %>
在我的控制器中:
def latest
@user = current_user
@categories = Category.all(:order => 'name')
@zones = Zone.all(:order => 'name')
@photos = Photo.latest_photos.quality.paginate(:page => params[:page])
@action = 'general'
render :index
end
那会说:
nil的未定义方法`user':NilClass
当我没有ID或参数时,如何在控制器中定义用户?
由于
答案 0 :(得分:0)
您收到错误undefined method `user' for nil:NilClass
。你的@photo变量似乎是零。您必须首先检查@photo是否为零,然后您可以检查照片的用户是否是current_user。尝试下面的代码或确保@photo有一些价值。
<% if (@photo.present? and current_user == @photo.user) or current_user.has_role? :admin %>