if current_user.id = @ game.user_id

时间:2012-03-02 23:20:56

标签: ruby-on-rails if-statement relation

我有链接到我项目中每个游戏的节目页面,如果是 游戏user_id匹配当前登录用户的id然后我想要 它显示编辑按钮,如果它们不显示则不应显示。

我目前有以下代码集,但它不起作用。每场比赛 有编辑按钮显示。代码如下:

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

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

MrDanA的回答很可能是错误,但您可能希望更好地使用此代码。像这样检查不是Rails的做法。而是创建一个用户实例方法,如:

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

然后在你看来:

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

(甚至可以通过进一步委托存在于游戏模型中,作为范围左右,如果你愿意,可以更好)

答案 1 :(得分:1)

您想要==

所以:

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