0

貢献したAPIから作成されたビューがあります

=form_tag add_group_vk_vk_entries_path, method: :put do
  -length_of_array = @vk_groups['message']['vk'].length
    .row-fluid
      -@vk_groups['message']['vk'][1..length_of_array].each do|item| 
        .span4
          p= check_box_tag "vk_groups[]", item['gid']
          p=item['name']
          p=image_tag item['photo'], :size => "100x100",:class => "img-circle"
= submit_tag "ok" 

この API からのデータを check_box_tag でコントローラーに送信したいと考えています。item['gid'] だけでなく、1 つの check_box_tag でチェックしたすべてのデータをコントローラーに送信したいのですが、方法がわかりません。

私のコントローラーで

def add_group_vk
    params[:vk_groups].each do |item|
      if VkEntry.not_exists?(item) == true
        VkEntry.create!(
           :git => item
          )
      end
    end
    redirect_to vk_entries_url
  end

私はこのようなものが欲しい

def add_group_vk
    params[:vk_groups].each do |item|
      if VkEntry.not_exists?(item) == true
        VkEntry.create!(
           :git => item[:gid],
           :name=> item[:name],
           :ser=> item[:ser],
           :photo=> item[:photo]
          )
      end
    end
    redirect_to vk_entries_url
  end
4

2 に答える 2

0

その結果、私はやった:

def add_group_vk
    params[:vk_groups].each do |key,val|  

      item = eval val

      if VkEntry.not_exists?(key) == true

        VkEntry.create!(
            :gid          => key,
            :name         => item['name'],
            :screen_name  => item['screen_name'],
            :is_closed    => item['is_closed'],
            :is_admin     => item['is_admin'],
            :is_member    => item['is_member'],
            :type_vk      => item['type_vk'],
            :photo        => item['photo'],
            :photo_medium => item['photo_medium'],
            :photo_big    => item['photo_big']
          )
      end
      end
     redirect_to vk_entries_url
  end

ビューで

p= check_box_tag "vk_groups[#{item['gid']}]", item
于 2013-04-07T17:01:27.383 に答える