Ruby on rails 如何检查当前用户是否有店铺

Ruby on rails 如何检查当前用户是否有店铺,ruby-on-rails,Ruby On Rails,我与商店和用户有一对一的关联,这意味着每个用户可以有一个商店。我想做的是检查当前用户是否已经有店铺,如果当前用户有店铺,我想向他显示指向其店铺的链接,否则显示添加店铺的按钮。如何使用if语句在rails中实现这一点。您可以使用 如果存在任何可以使用方法的记录,则返回true 如果有任何ActiveRecord数据可用,则返回true。 还请注意对该答案的评论。从@obermillerk中,您可能会使用erb语法: <% if current_user&.shop_id %>

我与商店和用户有一对一的关联,这意味着每个用户可以有一个商店。我想做的是检查当前用户是否已经有店铺,如果当前用户有店铺,我想向他显示指向其店铺的链接,否则显示添加店铺的按钮。如何使用if语句在rails中实现这一点。

您可以使用

如果存在任何可以使用方法的记录,则返回true

如果有任何ActiveRecord数据可用,则返回true。
还请注意对该答案的评论。从@obermillerk

中,您可能会使用erb语法:

<% if current_user&.shop_id %>
  <%= link_to "/shop/#{current_user.shop_id}" %>
<% else %>
  <%= link_to "/add-shop" %>
<% end %>


更准确地说,如果值不是nil,它将返回true,它可以用于几乎任何对象,而不仅仅是活动记录对象。它给出了nil:NilClass@Sergio Belevskij的错误未定义方法'shop_id'
current_user.shop.present?
<% if current_user&.shop_id %>
  <%= link_to "/shop/#{current_user.shop_id}" %>
<% else %>
  <%= link_to "/add-shop" %>
<% end %>