希望我可以解释这一点,这样人们就可以理解我想要实现的目标。目前我创建了多个帖子,并在此网址上显示了公开视图
/tynewyddnews
而非标准
/posts/:id
仅适用于管理员用户
页面分为2,占据页面左侧列出的大部分页面和历史帖子的最新帖子,每个帖子通过范围略有不同
范围
scope :tynewydd_posts, :include => :department, :conditions => {"departments.name" => "Ty Newydd"}, :order => "posts.published_on DESC"
最新帖子
@tynewyddpostlatest = Post.tynewydd_posts.first
历史帖子
tynewyddpost = Post.tynewydd_posts.reverse
tynewyddpost.pop
@tynewyddpost = tynewyddpost
在我看来,我会像这样呈现每个
左手边
<% @tynewyddpost.reverse.each do |t| %>
<%= link_to t.title, t %>
主要
<%= @tynewyddpostlatest.title %>
我想要实现的是,当点击左侧的帖子链接时,它将通过ajax代替中心的主要帖子。到目前为止,我想到的是一个点,标题和评论通过ajax调用呈现,但我点击的帖子的照片没有在视图中呈现,即使在firebug中它们显示为呈现。(虽然它们的大小为0x0 px)
左手边的帖子
<% @tynewyddpost.reverse.each do |t| %>
<%= link_to t.title, tynewyddnews_path(:type => 'tynewyddnews'), :remote => true %>
<% end %>
tynewyddnews.js.erb
<% if params[:type] == 'tynewyddnews' %>
$('.post-item').html('<%= escape_javascript(render partial: 'tynewyddnewspost') %>');
<% end %>
部分
<div class="post-item">
<% @tynewyddpost.each do |t| %>
<h2><%= t.title %></h2>
<div id="work-samples">
<% for photo in t.photos %>
<%= image_tag(photo.avatar.url(:news_images), :class => 'work-sample') %>
<% end %>
</div>
<p class="post-description"><%= t.comments.html_safe %></p><a class="post-more" href="#">Continue Reading »</a>
<div class="post-item-panel">
<ul>
<li class="date">
<p><%= date_output(t.published_on) %></p>
</li>
</ul>
</div>
</div>
<% end %>
非常感谢
答案 0 :(得分:1)
首先可以删除此行:
<%= @tynewyddpostlatest.title %>
如果错误一直显示,请尝试。如果是,可以删除:
<% @tynewyddpost.reverse.each do |t| %>
<%= link_to t.title, t %>
错误是否仍然显示?