如何在.map方法之后摆脱数组

时间:2016-07-03 20:42:28

标签: ruby-on-rails ruby

我正在实例化一个变量:

搜索控制器:

@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"]`

我怎样才能在最后摆脱阵列?

3 个答案:

答案 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返回块的评估。然后由于<%=打印返回的值。

另请注意,您不需要mapeach就足够了,在这种情况下可以节省资源:

<% @search_results.each do |sr| %>
  <%= sr.business_name %>
<% end %>

答案 2 :(得分:1)

您应该从.map更改为.each,因为您并未尝试更改数组的值。你应该能够解决这个问题:

<% @search_results.each do |sr| %>
  <%= sr.business_name %>
<% end %>

<%=表示您要打印值