В каждом профиле пользователя (localhost: 3000/users/username) есть список сообщений, которые пользователь сделал. Я реализовал facebox, который является лайтбокс на основе jQuery для отображения изображений при нажатии. Это код, который я использую для этого:как индивидуализировать каждый пост? (Ruby on Rails)
<a href=<%= post.image_url %> rel="facebox"><%= image_tag post.image_url(:thumb).to_s %></a>
Проблема заключается в том, что, если пользователь сделал 5 сообщений, то же самое изображение повторяется 5 раз при нажатии для отображения в facebox.
Это мой show.html.erb где я сделать в @posts
<% provide(:title, @user.name) %>
<div class="row">
<aside class="span4">
<section>
<h1>
<%= gravatar_for @user %>
<%= @user.name %>
</h1>
</section>
<br>
</aside>
<br>
<div class="span10">
<%= render 'follow_form' if signed_in? %>
<% if @user.posts.empty? %>
<h3>Browse</h3>
<% end %>
<% if @user.posts.any? %>
<ol class="posts">
<%= render @posts %>
</ol>
<%= will_paginate @posts %>
<% end %>
</div>
</div>
и вот _post.html.erb
<script src="/jquery.js" type="text/javascript"></script>
<link href="/src/facebox.css" media="screen" rel="stylesheet" type="text/css"/>
<script src="/src/facebox.js" type="text/javascript"></script>
<script language="javascript">
jQuery(document).ready(function($) {
$('a[rel*=facebox]').facebox()
})
</script>
<li>
<span class="content"><%= simple_format(post.content) %></span>
<% if post.image.present? %>
<a href=<%= post.image_url %> rel="facebox"><%= image_tag post.image_url(:thumb).to_s %></a>
<br>
<% else %>
<% end %>
<span class="timestamp">
Posted <%= time_ago_in_words(post.created_at) %> ago.
</span>
</li>
, что это ошибка? –
Нет ошибки, но когда я нажимаю на изображение, чтобы отобразить его во всплывающем окне (facebox script), повторяется одно и то же изображение, которое соответствует количеству сообщений, которые пользователь имеет. Так что если пользователь имеет 11 сообщений, изображение при нажатии на него повторяется 11 раз в одном всплывающем окне – user2159586
Можете ли вы опубликовать код javascript, который вы написали, который инициализирует facebox? Я попытался создать образец проекта, чтобы воспроизвести это, но я не смог воспроизвести его, поэтому, возможно, также поможет jsFiddle, который демонстрирует это. –