我有代码。
users_controller.rb
def show
@user = User.find_by id: params[:id]
@microposts = @user.microposts.order_micropost.paginate(page: params[:page], per_page: 5)
end
并查看/ user / show.html.erb
<% provide :title, @user.name %>
<div class="row">
<aside class="col-md-4">
<section class="user-info">
<h1>
<%= gravatar_for @user %>
<%= @user.name %>
</h1>
</section>
</aside>
<div class="col-md-8">
<% if @user.microposts.any? %>
<h3><%= t ".count_microposts", count: @user.microposts.count %></h3>
<ol class="microposts">
<%= render @microposts %>
</ol>
<%= will_paginate @microposts %>
<% end %>
</div>
</div>
在micropost / _micropost.html.erb
中<li id="micropost-<%= micropost.id %>">
<span class="user">
<%= link_to micropost.user.name, micropost.user %>
</span>
<span class="content">
<%= micropost.content %>
<%= image_tag micropost.picture.url if micropost.picture? %>
</span>
<span class="timestamp">
<span class="timeago" title=<%= micropost.created_at %>></span>
<% if current_user.current_user?(micropost.user) %>
<%= link_to t(".delete"), micropost, method: :delete,
data: { confirm: t(".confirm") } %>
<% end %>
</span>
</li>
我和brakenman警告动态渲染路径和高亮<%= render @microposts %>
。我如何解决它以通过brakenman?
这是确切的错误:
Render path contains parameter value near line 15: render(action => User.find_by(:id => params[:id]).microposts.order_micropost.paginate(:page => params[:page]), {})
答案 0 :(得分:0)
制动员的已知问题,如果您只想让代码通过制动器,您可以将<%= render @microposts %>
更改为<%= render 'micropost', :collection => @microposts %>
。