如果current_user满足要求,如何显示内容

时间:2014-07-13 04:02:44

标签: ruby-on-rails slim-lang

如何使用Slim在视图中编写if条件?如果current_user是订阅者,我想显示内容。我有一个包含user_idcancelled列的订阅表。如果用户可以在user_id下的订阅表中找到其ID,并且cancelled列为NULL,则用户可以访问该网站。如果cancelled的值为1,则该用户将无法再访问。

1 个答案:

答案 0 :(得分:1)

如果您已建立关系,那么此类用户模型中的实例方法应该可以正常工作。

def subscribed?
  subscriptions.where(cancelled: nil).exists?
end

然后在视图中,您可以执行以下操作:

<% if user.subscribed? %>
  Here ya go
<% else %>
  Go away
<% end %>

你显然可以把逻辑放在订阅中吗?在视图中的方法,但这可能有点清洁。