我正在实例化一个变量:
搜索控制器:
@search_results = Business.near(params[:search_zip], params[:radius]).to_a
搜索视图
<%= @search_results.map do |sr| %>
<%= sr.business_name %>
<% end %>
=> PetStore FoodStore BeautyStore ClothingStore ["\n", "\n", "\n", "\n"]`
我怎样才能在最后摆脱阵列?
答案 0 :(得分:1)
将<%=
更改为<%
<% @search_results.map do |sr| %>
<%= sr.business_name %>
<% end %>
答案 1 :(得分:1)
打印数组是因为您使用的是<%=
而不是<%
。变化
<%= @search_results.map do |sr| %>
<%= sr.business_name %>
<% end %>
到
<% @search_results.map do |sr| %>
<%= sr.business_name %>
<% end %>
map
返回块的评估。然后由于<%=
打印返回的值。
另请注意,您不需要map
,each
就足够了,在这种情况下可以节省资源:
<% @search_results.each do |sr| %>
<%= sr.business_name %>
<% end %>
答案 2 :(得分:1)
您应该从.map
更改为.each
,因为您并未尝试更改数组的值。你应该能够解决这个问题:
<% @search_results.each do |sr| %>
<%= sr.business_name %>
<% end %>
<%=
表示您要打印值