Пользовательское устройство current_user + Mongoid - PullRequest
0 голосов
/ 03 октября 2011

У меня есть устройство + созданный эшафот "дом", и я хочу, чтобы пользователь мог редактировать только ваш собственный дом.

Это мой контроллер_домов:

def authenticate_owner!
  @house = house.find(params[:id])
    if user_signed_in? && current_user.email == @house.user.email
      return true
    end
    redirect_to root_path, :notice => "You must have permission to access this category."
      return false
    end

У меня тоже есть этот код в верхнем домике_контроллера:

before_filter :authenticate_owner!
skip_before_filter :authenticate_owner! , :only => [:show, :index, :new]

, но не работает, всегда показывайте сообщение:

"У вас должно быть разрешение на доступ к этой категории."

как мне получить пользователя, который создал эшафот, и сравнить его с зарегистрированным пользователем?

Ответы [ 2 ]

1 голос
/ 03 октября 2011

Тебе нужно поставить еще одно .. ты, вероятно, хотел написать:

def authenticate_owner!
  @house = house.find(params[:id])
    if user_signed_in? && current_user.email == @house.user.email
      return true
    else
      redirect_to root_path, :notice => "You must have permission to access this category."
      return false   # this will never be executed!!
    end
end
0 голосов
/ 04 октября 2011

Исправлено: D Проблема: @house = house .find (params [: id]), это: @house = House .find (params [: id])

...