-2

次のハッシュの配列があり、空ではないすべての電子メールを解析する必要があります。

[{:id=>"something", :first_name=>"First", :last_name=>"Name", :name=>"First Name", :email=>"first_name@gmail.com", :gender=>nil, :birthday=>nil, :profile_picture=>nil, :relation=>nil}, 
{...},
{}]

私はこのようにしようとしています:

- @contacts[0].each_with_index do |c, i|
  - unless c[:email].blank?
    %tr
      %td= c[:email]
      %td= check_box_tag "email_to[]", c[:email], true

しかし、私はエラーが発生しています:

An ActionView::Template::Error occurred in users#parse_data:

  no implicit conversion of Symbol into Integer

それを正しく行う方法は?

4

3 に答える 3

0
@contacts.each_with_index do |c, i| ...
于 2013-10-04T00:38:02.070 に答える
0

each_with_indexハッシュで言うと、以下のような配列が得られます

{:id=>"something", :first_name=>"First", :last_name=>"Name"}.each_with_index{|e,i| p e}
[:id, "something"]
[:first_name, "First"]
[:last_name, "Name"]

だから、あなたは言うことができませんe[:id]、それがエラーの理由です。上記のよう@contacts[0]に、配列ではなくハッシュが得られます。

于 2013-10-04T00:38:31.687 に答える