Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails显示模型中的行,这些行不是';t创造_Ruby On Rails_Ruby On Rails 3_Postgresql_Pg - Fatal编程技术网

Ruby on rails Rails显示模型中的行,这些行不是';t创造

Ruby on rails Rails显示模型中的行,这些行不是';t创造,ruby-on-rails,ruby-on-rails-3,postgresql,pg,Ruby On Rails,Ruby On Rails 3,Postgresql,Pg,我有这部分代码: <% current_user.meta_accounts.each do |meta_account| %> <%= content_tag(:li, link_to(meta_account.name, 'javascript:void(0)')) %> <% end %> 因此,它还显示了尚未创建的元帐户 在我的MetaAccounts表中,我有这个。我在用Postgres 因此,它还显示了最后一行,其中行号为*。我不知道为

我有这部分代码:

<% current_user.meta_accounts.each do |meta_account| %>
    <%= content_tag(:li, link_to(meta_account.name, 'javascript:void(0)')) %>
<% end %>
因此,它还显示了尚未创建的元帐户

在我的MetaAccounts表中,我有这个。我在用Postgres

因此,它还显示了最后一行,其中行号为
*
。我不知道为什么,以及如何避免这种情况


谢谢你的帮助

您在PostgreSQL中看到的*行不是实际记录,它只是创建新记录的一种快速方法。如果要确定,请运行以下查询:

SELECT COUNT(*) FROM MetaAccounts WHERE user_id=1
它将返回4

我认为问题来自
current\u user.meta\u accounts
中未保存的
MetaAccount
对象。例如,在表单中,您可以构建绑定到表单的空对象。确保您没有调用当前用户.meta\u accounts.build(…)

如果是这样,您只需在
中跳过每个
循环所有
元帐户
对象(名称为空
请尝试:

<% current_user.meta_accounts.select(&:persisted?).each do |meta_account| %>
  <%= content_tag(:li, link_to(meta_account.name, 'javascript:void(0)')) %>
<% end %>


在我的
meta\u帐户\u控制器中
我使用的是:
def create@meta\u account=current\u user.meta\u accounts.build(params[:meta\u account])
在我的应用程序的其他部分中没有MetaAccount
build
。但是
current\u user.meta\u accounts.where('user\u id=?',current\u user.id.)。每个
都有帮助。谢谢我想我们大概是在同一时间回答的。将删除我的,因为OP接受了你的版本。
<% current_user.meta_accounts.select(&:persisted?).each do |meta_account| %>
  <%= content_tag(:li, link_to(meta_account.name, 'javascript:void(0)')) %>
<% end %>