在每個用戶配置文件(本地主機:3000 /用戶/用戶名)上,都列出了用戶所發佈的帖子。我實現了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>
什麼錯誤? – 2013-03-13 18:54:28
沒有錯誤,但是當我單擊圖像以在彈出窗口(facebox腳本)中顯示圖像時,會重複相同的圖像,這與用戶擁有的帖子數量相關。因此,如果用戶有11個帖子,點擊時的圖像會在一個彈出窗口中重複11次 – user2159586 2013-03-13 18:59:47
您可以發佈您編寫的初始化facebox的javascript代碼嗎?我試圖創建一個示例項目來重現這一點,但我不能重現它,所以也許一個演示這個的jsFiddle也會有幫助。 – 2013-03-13 20:00:11