nil:NilClass的未定义方法“人性化”

时间:2018-07-04 06:02:11

标签: ruby-on-rails

我知道我应该放置if语句,但是我必须如何放置。我是新手。有人可以帮我弄清楚吗?

 <div class="row">
      <div class="col-md-12 col-sm-12">
        <div class="col-md-6 col-sm-6">
          <h4><i><%=@prospects.length.to_s + " " %></i>
            <%= params[:state].humanize.pluralize + " on"%><i><%= @title %></i></h4>
        </div>
        <%= render "admin/report/appointments/filter_form.html.erb" %>
      </div>

2 个答案:

答案 0 :(得分:0)

请使用try块代替if条件,您可以在这里https://apidock.com/rails/v3.2.1/Object/try

中找到有关try的更多信息。

轨道5

params[:state]&.humanize&.pluralize

导轨4

params[:state].try(:humanize).try(:pluralize)

如果您不想使用try并只想使用三元条件就可以使用

<h4><i><%=@prospects.length.to_s + " " %></i> <%= params[:state].nil? ? params[:state] : params[:state].humanize.pluralize "on" %>

但是try块将在您的if条件下完成相同的工作

答案 1 :(得分:0)

<div class="row">
  <div class="col-md-12 col-sm-12">
    <div class="col-md-6 col-sm-6">
      <h4><i><%=@prospects.length.to_s + " " %></i>
        <%= params[:state].present? ? params[:state].humanize.pluralize : "" + " on"%><i><%= @title %></i></h4>
    </div>
    <%= render "admin/report/appointments/filter_form.html.erb" %>
</div>

我建议不要在视图中直接使用参数,可以使用实例变量或对象(如果已经存在)。 。当下?可以内联使用,.nil应该用于对象,因为它会跳过“” .nil这样的情况。给出错误

相关问题