我正在尝试显示我创建的所有项目的列表。 (称为“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">]
有人知道如何摆脱它吗?
答案 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,而不是混乱视图。