Show会显示一个数据列表

时间:2016-04-30 12:55:16

标签: html ruby-on-rails crud

我正在尝试显示我创建的所有项目的列表。 (称为“join”)在show.html.erb中,我写了

<%= @join = Join.all %>
  <%= @join.each do |join| %>
  <%= join.email %>
<% end %>

它正在运行,但是当我进入页面时,我得到了一堆数据:#<Join::ActiveRecord_Relation:0x007fbca99f12b8> sbhenrichs@gmail.com [#<Join id: 1, email: "sbhenrichs@gmail.com", created_at: "2016-04-30 12:48:16", updated_at: "2016-04-30 12:48:16">]有人知道如何摆脱它吗?

1 个答案:

答案 0 :(得分:2)

<%= @join.each do |join| %>更改为<% @join.each do |join| %><%=...%>之间的Ruby代码由erb处理器解析并输出html。在每个do块的主体内生成html输出很好,因为这是我们想要的,但是每个表达式都是纯粹的ruby,应该在html.erb文件中的<% ...%>表达式中进行评估。

在相同的上下文中,将<%= @join = Join.all %>更改为<% @join = Join.all %>。事实上,我们应该始终在控制器的方法中生成实例变量,例如@join,而不是混乱视图。