print @customer [:group_name]无法将Symbol转换为Integer

时间:2013-12-18 20:40:21

标签: ruby-on-rails

我正在尝试在我的rails应用程序中打印客户[:group_name],但我遇到了麻烦。

控制器:

def index
  @customers = [
    {
        :name => 'James',
        :group_name => 'Latin@ Social Work Coalition',
    }
  ]
end

html.erb:

我试过了:

    <%= @customers[:group_name] %>
    ERROR: can't convert Symbol into Integer

    <%= customer[:group_name] %>
    ERROR: undefined local variable or method `customer' for #<  
    <Class:0x000001017d2f10>:0x00000103198378>

但是当我这样做时:

<% @customers.each do |customer| %>
    <%= customer[:group_name] %>
<% end %>

它有效,但我不想每个人都这样做,因为只有一个。

打印此内容的最佳方式是什么?

1 个答案:

答案 0 :(得分:2)

你必须在你的erb文件中做这样的事情:

<%= @customers.first[:group_name] %>

您首先访问数组,然后是哈希

您可以将控制器更改为:

@customer = 
{
  :name => 'James',
  :group_name => 'Latin@ Social Work Coalition',
}

和观点:

<%= @customer[:group_name] %>