Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在helper方法中为nil调用id_Ruby On Rails_Ruby_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 在helper方法中为nil调用id

Ruby on rails 在helper方法中为nil调用id,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我创建了一个helper方法来动态更改表中某些行的背景色: 我的html如下所示: <% @treatments.each do |f| %> <tr class="<%= category_table_row_class(f.category) %>"> ..... 但是我有一些问题,我得到了错误: Called id for nil, which would mistakenly be 4 -- if you really wanted the id o

我创建了一个helper方法来动态更改表中某些行的背景色: 我的html如下所示:

<% @treatments.each do |f| %>
<tr class="<%= category_table_row_class(f.category) %>">
.....
但是我有一些问题,我得到了错误:

Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id

我希望有人能帮我?谢谢

看起来你的治疗方法没有分类。对此,您可以做很多事情,以下是几点建议:

  • 将验证添加到
    治疗
    以强制分类
  • 当类别为nil时,在助手中设置默认返回值
首先,我将向助手添加以下内容:

module ApplicationHelper
  def category_table_row_class(category)
    return "a_suitable_class" if category.nil?

    { 0 => "success", 1 => "warning", 2 => "error", 3 => "info" }[category.id]
  end
end

看起来你的治疗方法没有分类。对此,您可以做很多事情,以下是几点建议:

  • 将验证添加到
    治疗
    以强制分类
  • 当类别为nil时,在助手中设置默认返回值
首先,我将向助手添加以下内容:

module ApplicationHelper
  def category_table_row_class(category)
    return "a_suitable_class" if category.nil?

    { 0 => "success", 1 => "warning", 2 => "error", 3 => "info" }[category.id]
  end
end