我写这段代码:
<% @user.posts.each do |post| %>
<%= render 'post', locals: { post: post, user: @user} %>
<% end %>
然后在_post.htm.erb
中编写以下代码:
<div class="post-title">
<img src="<%= @user.avatar.url%>" class="img-rounded post-image">
<h4 id="post-name"><%= @user.first_name + ' ' +@user.last_name %> </h4>
<div id="post-date"><%= post.created_at.strftime('%d %b - %k:%M') %></div>
</div>
<div class="post-content">
<p><%= post.content %></p>
</div>
<%= render 'like', post:post %>
<li class="post-divider"></li>
当我转到此页面时,我看到如下:
undefined local variable or method `post'
答案 0 :(得分:1)
使用本地人: param或“如果你不会成为渲染部分 使用集合或布局等任何选项,您也可以使用 渲染部分的渲染的简写默认值。“
<%= render 'post', post: post, locals: { user: @user} %>
答案 1 :(得分:1)
您需要使用partial:当您将locals传递给partial时,如下所示:
<%= render partial: 'post', locals: { post: post, user: @user} %>
我希望这会对你有所帮助。