我有一个简单的博客应用程序和帖子。如何在`show`页面以及第二个较大的部分渲染一个小部分
我使用部分_post.html.erb
呈现我的索引页中的帖子。
_post.html.erb
的div class=submission_details
与我的show
操作中使用的值相同。 如何将部分分段,以便我可以在_post.html.erb
部分页面和show.html.erb
页面中使用它?
posts_controller.rb
def index
@posts = Post.all
end
def show
@post = Post.find(params[:id])
end
帖/ index.html.erb
<%= render @posts %>
帖/ _post.html.erb
<%= post.title %>
<div class="submission_details">
<%= time_ago_in_words(post.created_at) %>
<span id="submission_details_<%= post.id %>">
submitted by <%= link_to "#{post.user.name} (#{post.user.reputation_for(:points).to_i})", post.user %>
</span>
</div>
帖/ show.html.erb
<%= @post.title %>
<%= @post.content %>
<div class="submission_details">
<%= time_ago_in_words(@post.created_at) %>
<span id="submission_details_<%= @post.id %>">
submitted by <%= link_to "#{@post.user.name} (#{@post.user.reputation_for(:points).to_i})", @post.user %>
</span>
</div>
我试图使一个shared/submission_details
局部象下面这样:
共享/ _submission_details.html.erb
<%= time_ago_in_words(@post.created_at) %>
<span id="submission_details_<%= @post.id %>">
submitted by <%= link_to "#{@post.user.name} (#{@post.user.reputation_for(:points).to_i})", @post.user %>
</span>
这呈现为show
由render 'shared/submission_details'
执行,但在index
操作中给了我零。如何正确定义index
操作的@post?
谢谢@rorra。一旦你得到答案,它总是很容易! – umezo
欢迎光临,它只是一个小小的练习,一定要时刻回到导轨上,关于partials的文档在http://guides.rubyonrails.org/layouts_and_rendering.html上。 – rorra