我查看了从сontributedAPI
创建的视图=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"
我想通过check_box_tag将此api中的数据发送到我的控制器。我不仅要发送项目['gid']我想发送给我的控制器我通过一个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
答案 0 :(得分:1)
首先,我假设您的上面生成的复选框的名称如下:
vk_groups[100], vk_groups[101],...
你真正可以提取的是一个id的列表,它们在哈希键中,值并不重要。
params [:vk_groups]将产生一个哈希值,如此反复遍历哈希
def add_group_vk
params[:vk_groups].each do |key,val|
if VkEntry.not_exists?(key) == true
VkEntry.create!(
:git => key,
:name=> item[:name],
:ser=> item[:ser],
:photo=> item[:photo]
)
end
end
redirect_to vk_entries_url
结束
答案 1 :(得分: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