首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Brakeman警告动态渲染路径

Brakeman警告动态渲染路径
EN

Stack Overflow用户
提问于 2018-01-10 00:01:18
回答 2查看 1.8K关注 0票数 4

我有代码。users_controller.rb

代码语言:javascript
复制
  def show
    @user = User.find_by id: params[:id]
    @microposts = @user.microposts.order_micropost.paginate(page: params[:page], per_page: 5)
  end

和view/user/show.html.erb

代码语言:javascript
复制
<% 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中

代码语言:javascript
复制
<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?

这就是确切的错误:

代码语言:javascript
复制
Render path contains parameter value near line 15: render(action => User.find_by(:id => params[:id]).microposts.order_micropost.paginate(:page => params[:page]), {})
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-10 01:13:07

这是brakeman的一个已知问题,如果您只想让代码通过brakeman,您可以将<%= render @microposts %>更改为<%= render partial: 'micropost', :collection => @microposts %>

来源:https://github.com/presidentbeef/brakeman/pull/529

票数 3
EN

Stack Overflow用户

发布于 2021-10-02 07:25:47

在我的例子中不需要partialcollection,我从:

代码语言:javascript
复制
render @attendance

代码语言:javascript
复制
render "attendances/attendance", attendance: @attendance
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48172135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档