0

メッセージを表示するアプリの一部があります。ライトボックスを使用して、クリックしたときに各メッセージの一部を表示しようとしています。私の問題は、ID を使用して非表示の div にリンクしていることです。ID を使用しているため、リンクは後続の各メッセージではなく、最初のメッセージのみを表示します。これを変更して、反復された各メッセージが最初のメッセージではなく独自のメッセージを表示するようにするにはどうすればよいですか?

以下に私のコードを含めました。ファンシーボックスのライトボックスを使っています。

助けてくれてありがとう。

<tbody>
    <% @messages.each do |m| %>
    <tr>

        <td><%= m.from.name %></td>
        <td><%= truncate(m.topic, length: 30) %></td>
        <td><%= link_to truncate(m.body, length: 35), "#user_message", class: 'fancybox'  %></td>
        <td>
        <%= link_to 'Mark Read', '#', confirm: 'Are you sure?', :class => 'btn btn-mini' %>
        <%= link_to 'Reply', '#', confirm: 'Are you sure?', :class => 'btn btn-mini btn-inverse' %>
        <%= link_to 'Delete', '#', confirm: 'Are you sure?', :class => 'btn btn-mini btn-danger' %>

        </td>
    </tr>
    <div style="display:none" id="user_message">
        <%= m.body %>
    </div>
    <% end %>
</tbody>
4

2 に答える 2

1

簡単な解決策は、メッセージの数値 ID のような一意のものを追加して、ID を強制的に一意にすることです。

<% @messages.each do |m| %>
  <tr>
    ...
    <td><%= link_to truncate(m.body, length: 35), "#user_message-#{m.id}", class: 'fancybox'  %></td>
    ...
  </tr>
  <div style="display: none" id="user_message-<%= m.id %>">
  ...
于 2012-11-23T04:43:57.443 に答える
0

JQueryコードを見ずに正確な答えを伝えるのは少し難しいですが、通常、これらの種類のことを行う方法は、divを区別するために動的な値を追加することです.

元:

<tbody>
    <% @messages.each do |m| %>
    <tr>

        <td><%= m.from.name %></td>
        <td><%= truncate(m.topic, length: 30) %></td>
        <td><%= link_to truncate(m.body, length: 35), "#user_message{m.id}", class: 'fancybox'  %></td>
        <td>
        <%= link_to 'Mark Read', '#', confirm: 'Are you sure?', :class => 'btn btn-mini' %>
        <%= link_to 'Reply', '#', confirm: 'Are you sure?', :class => 'btn btn-mini btn-inverse' %>
        <%= link_to 'Delete', '#', confirm: 'Are you sure?', :class => 'btn btn-mini btn-danger' %>

        </td>
    </tr>
    <div style="display:none" id="user_message{m.id}">
        <%= m.body %>
    </div>
    <% end %>
</tbody> 

アペンダー{m.id}部分に注意してください

HTH

于 2012-11-23T04:44:26.197 に答える