我有以下型号
class User < ActiveRecord::Base
has_many :collabos
has_many :files
end
我想显示条件部分,以便current_user
可以创建协作或文件,当这些模型为空时?
这是我的第一次尝试,但效果不佳。
<% if current_user.files.empty? || current_user.collabos.empty? %>
<%= "create a file/collabo" %>
<% else %>
<%= yield %>
<% end %>
这种问题的最佳方法是什么?
我认为下面的图片更能向您展示我想要实施的行为
答案 0 :(得分:1)
您需要和,而不是或:
<% if current_user.files.empty? and current_user.collabos.empty? %>
但是,创建用户实例方法总是一个好主意,如:
def has_files?
files.empty? ? false : true
end
这样就变成了:
<% if current_user.has_files? and current_user.has_collabos? %>
(如果它是可重复使用的代码,你也可以随时创建一个has_files_and_collabos方法)