if current_user.id = @ game.user_id - PullRequest
       1

if current_user.id = @ game.user_id

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

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

В настоящее время у меня установлен следующий код, но он не работает.В каждой игре есть кнопка редактирования.Код выглядит следующим образом:

 <% if current_user.id = @game.user_id %>
    <div id="text3"><%= link_to 'Edit', edit_game_path(@game) %></div><br />
 <% end %>

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 03 марта 2012

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

def has_game?(game)
  self.games.exists?(:id => game.id)
end

, а затем, на ваш взгляд:

<% if current_user.has_game?(@game) %> ...

(может быть даже лучше, если дальнейшее делегирование существует в игровой модели как областьили так, если хотите)

1 голос
/ 03 марта 2012

Вы хотите ==

Итак:

<% if current_user.id == @game.user_id %>
...