각 사용자 프로필 (localhost : 3000/users/username)에는 사용자가 작성한 게시물 목록이 있습니다. 내가 클릭하면 이미지를 표시하는 jQuery 기반 라이트 박스 인 facebox를 구현했습니다.각 게시물을 개별화하는 방법은 무엇입니까? (Ruby on Rails)
<a href=<%= post.image_url %> rel="facebox"><%= image_tag post.image_url(:thumb).to_s %></a>
문제는 사용자가 5 개 게시물을 만든 경우 facebox에 표시 클릭했을 때, 동일한 이미지가 5 번 반복한다는 것입니다 : 이것은 내가 그것을 위해 사용하고 코드입니다.
이 내가 @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>
을에 렌더링 내 show.html.erb이며, 여기에 _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 스크립트)에 표시하면 사용자가 가지고있는 게시물의 수와 상관 관계가있는 동일한 이미지가 반복됩니다. 따라서 사용자가 11 개의 게시물을 가지고있는 경우, 클릭 한 이미지는 한 번의 팝업에서 11 번 반복됩니다. – user2159586
facebox를 초기화하는 자바 스크립트 코드를 게시 할 수 있습니까? 이 예제를 재현하기 위해 샘플 프로젝트를 만들려고했으나 재현 할 수 없었습니다. 아마도 이것을 증명하는 jsFiddle도 도움이 될 것입니다. –