ruby-on-rails 如何在Rails循环中放置一个唯一ID?

ecr0jaav  于 2023-08-08  发布在  Ruby
关注(0)|答案(1)|浏览(125)

我有一个网格,其中列出收据与他们的信息和显示按钮。这个想法是按下出现在操作列中的按钮(button_tag)将那个特定收据的信息发送到JavaScript,发送按钮的值(这是属于该行的收据的id)-问题是从JavaScript(coffescript)我会发出警报来查看到达的信息,它总是会在屏幕上打印存储在按钮中的值但总是第一个出现在网格里。如何才能唯一识别每个按钮?
Ruby代码:

<div class="row " id = "list_receipt">
  <table class="table table-hover">
      <thead>
      <tr>
        <th scope="col">Month</th>
        <th scope="col">Company</th>
        <th scope="col">Signature of conformity</th>
        <th scope="col">Date of signature</th>
        <th scope="col">Actions</th>
      </tr>
    </thead>
    <tbody>
      <% receipts.sort! { |a, b|  b.payment_month <=> a.payment_month }%>
      <% @receipts.each do |r|  %>
        <tr class=<%= row_color(r.consent)%>>
          <th><%= r.month %></th>
          <td><%= r.company_name %></td>
          <td><%= (r.consent ? 'In compliance': 'In disagreement' ) unless r.consent.nil? %></td>
          <td><%= r.date_consent unless r.date_consent.nil? %></td>
          <td>            
            <div class="input-group-btn">
              <%= button_tag 'Button', type: 'button', class: 'btn btn-succes', id:'viewreceipt_btn', value: r.id do %>
                <span class="glyphicon glyphicon-eye-open" aria-hidden="true"></span>
                <%=r.month %>
              <%end%>
            </div>
          </td>
        </tr>
      <% end %>
    </tbody>
  </table>
</div>

字符串
JavaScript代码:

$(document).on 'click', '#viewreceipt_btn', (event) ->  
    alert $("#viewreceipt_btn").attr("value")


我使用的是Rails 4.2.5和Ruby 2.2.3p173。

dzhpxtsq

dzhpxtsq1#

您可能需要使用id: r.dom_id
https://api.rubyonrails.org/classes/ActionView/RecordIdentifier.html#method-i-dom_id

相关问题