如何显示空表的模板?

时间:2012-03-17 22:22:14

标签: ruby-on-rails ruby-on-rails-3.1 partial-views

我有以下型号

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 %>

这种问题的最佳方法是什么?

我认为下面的图片更能向您展示我想要实施的行为

1 个答案:

答案 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方法)