current_user.id == @ game.user_id не распознается - PullRequest
0 голосов
/ 09 марта 2012

У меня есть следующий код в разделе редактирования моего games_controller:

def edit
   @game = Game.find_by_game_name(params[:id])

  respond_to do |format|
    if current_user.id == @game.user_id
      format.html 
    else
      format.html { redirect_to games_path, notice: 'You are not authorized to change these details.'}
    end
  end
end

Моя проблема в том, что, если я нажимаю на функцию редактирования даже для тех игр, которые принадлежат пользователю, я перехожу к строке else с уведомлением о том, что я не уполномочен изменять эти данные. Поле user_id в играх совпадает с идентификатором пользователя, но оно не позволяет мне редактировать. Есть идеи, почему это может быть?

1 Ответ

0 голосов
/ 09 марта 2012

Вы в значительной степени спросили то же самое, что можно увидеть в этом:

если current_user.id = @ game.user_id

Это будет работать, если вы сделаете это таким образом.

В вашем текущем примере это, вероятно, не работает, потому что вы не авторизованы должным образом. Попробуйте удалить if и посмотрите, работает ли он вообще без него.

...