我是RoR的新手
我有一个奇怪的问题 - 我试图按名称呈现“Product Scale”对象列表
<ul>
<%= @product_scales.each do |p| %>
<li><%= p.scale_name%></li>
<% end %>
</ul>
列表打印好了,但由于某种原因,类实例名称也是如此, 所以它看起来像这样:
规模:
在我的控制器中它看起来像这样:
@product = Product.find(params[:id])
@product_scales =ProductScale.findByProductId(params[:id])
我也试过
@product_scales = ProductScale.findByProductId(params[:id]).map{|p| p.scale_name}
并在html.erb文件中:
<li><%= p %></li>
这给出了以下内容:
这里看起来正在调用to_s
对象的@product_scales
方法,并在页面上显示结果 - localregional。
我无法弄清楚为什么会这样。
答案 0 :(得分:5)
假设上面发布的代码不是拼写错误,你有:
<%= @product_scales.each do |p| %>
&lt;%=将导致它输出,您需要使用:
<% @product_scales.each do |p| %>