我想在表行中只显示一个链接,即使有多个组(@existing_groups_ids)也是如此。但现在,当有两个组时,我的系统在表行中显示两个链接。当有三个组时,它可能在表行中有三个链接。你能告诉我如何修改我的代码吗?
☆index_controller
def index
@keyword = params[:keyword]
if @keyword.present?
Amazon::Ecs.debug = true
res = Amazon::Ecs.item_search(params[:keyword],
:search_index => 'All', :response_group => 'Medium')
@items = res.items
search_isbns = @items.map{ |isbns| isbns.get('ItemAttributes/ISBN')}
@existing_groups_isbns = Group.select(:isbn).where(:isbn => search_isbns).map(&:isbn)
@existing_groups_ids = Group.where(:isbn => search_isbns).map{|g| g.id}
end
end
☆index.html.erb(index_controller)
<table class="table">
<tr>
<th>image</th>
<th>タイトル</th>
<th>著者</th>
<th>出版年</th>
<th>出版社</th>
<th>page</th>
<th>リンク</th>
</tr>
<% if @items.present? %>
<% @items.each do |i| %>
<tr>
<td> <%= link_to image_tag(i.get('SmallImage/URL'), {:style => 'border: none;'}), i.get('DetailPageURL') %></td>
<td> <%= link_to i.get('ItemAttributes/Title'), i.get('DetailPageURL') %></td>
<td> <%= i.get('ItemAttributes/Author') %></td>
<td> <%= i.get('ItemAttributes/PublicationDate')%></td>
<td> <%= i.get('ItemAttributes/Publisher') %></td>
<td> <%= i.get('ItemAttributes/NumberOfPages')%></td>
<td>
<% if @existing_groups_isbns.include? i.get('ItemAttributes/ISBN') %>
<% @existing_groups_ids.each do |id| %>
<%= link_to '既存グループへ', group_path(id) %>
<% end %>
<% else %>
<%= link_to '新規作成', {:controller => 'groups', :action => 'new', :name => i.get('ItemAttributes/Title'),:author => i.get('ItemAttributes/Author'), :publish => i.get('ItemAttributes/Publisher'), :published => i.get('ItemAttributes/PublicationDate'), :isbn => i.get('ItemAttributes/ISBN'), :page => i.get('ItemAttributes/NumberOfPages'), :imageurl=>i.get('MediumImage/URL')} ,class: "btn btn-midium btn-primary"%>
<% end %> <!-- if @existing_groups_isbns-->
</td>
</tr>
<% end %><!-- each do-->
<% else %>
見つかりませんでした。
<% end %>
答案 0 :(得分:0)
替换:
<% @items.each do |i| %>
和
<% @existing_groups_ids.each do |id| %>
<%= link_to '既存グループへ', group_path(id) %>
<% end %>
使用:
<% @items.each_with_index do |i, index| %>
和
<%= link_to '既存グループへ', group_path(@existing_groups_ids[index]) %>