0

我想在我的视图/主页中创建一个小公式。基本上它应该说如果当前用户登录(正确的部分)并且用户创建了一个注册表= TRUE那么这个或那个。

下面是代码:

 <% if user_signed_in? and?????? %>

 <%= link_to "Show My Registry", current_user.registry %>

 <% else %>

 <%= link_to "Create a new registry", new_registry_path %>

 <% end %>

谢谢你的帮助。

4

3 回答 3

2

假设Registry是属于 a 的模型User,您可以使用<% if user_signed_in? && current_user.registry.exists? %>

于 2012-06-13T20:21:08.203 回答
0

您可能想要嵌套这两个决策。如果用户没有登录会发生什么?您是否仍希望用户无需登录即可创建注册表?其他选择是考虑使用 before_filter 以确保用户在到达您的应用程序中的此决策点之前始终登录。

于 2012-06-13T20:27:03.757 回答
0

我假设你们都准备好建立用户和注册表之间的关系。如果是这样,如果是这样,您可以在用户控制器中创建一个看起来像这样的方法。

def user_registry
  User.current.registry
end

然后,如果您查看您的 if 语句应该类似于

<% if user_signed_in? and user_registry? %>

<%= link_to "Show My Registry", current_user.registry %>

<% else %>

<%= link_to "Create a new registry", new_registry_path %>

<% end %>
于 2012-06-13T20:20:59.887 回答