Ruby on rails 基于条件和来自不同阵列的部分渲染

Ruby on rails 基于条件和来自不同阵列的部分渲染,ruby-on-rails,renderpartial,Ruby On Rails,Renderpartial,一个有点复杂的操作将两组数组组合成一个数组 @packages = (@packageoffers + @availables).sort_by(&:cost).paginate :page => params[:page], :per_page => 20 然后,该视图将渲染局部视图 @packages.each do |package| if @packages_m.include?(package) @mss = true render parti

一个有点复杂的操作将两组数组组合成一个数组

@packages = (@packageoffers + @availables).sort_by(&:cost).paginate :page => params[:page], :per_page => 20
然后,该视图将渲染局部视图

@packages.each do |package|
  if @packages_m.include?(package)
    @mss = true
    render partial: 'package', collection: @packages
  elsif @availables.include?(package)
     @mss = false
     render partial: 'package', collection: @packages
  else
  end
然后,所述部分具有基于@mss(html代码)的两个条件块:

发生的错误是偶尔发生的

ActionView::Template::Error (undefined method 'product_category' for #<Packageoffer:

ActionView::Template::Error(未定义的#方法'product_category',我想问题在于渲染集合

我希望它能帮助你

  if @packages_m.include?(package)
    render partial: 'package', locals: { package: package, mss: true }
  elsif @availables.include?(package)
     render partial: 'package', locals: { package: package, mss: false }
  else
  end

  if mss
    package.typounit.stars
  else
    package.product_category
  if @packages_m.include?(package)
    render partial: 'package', locals: { package: package, mss: true }
  elsif @availables.include?(package)
     render partial: 'package', locals: { package: package, mss: false }
  else
  end

  if mss
    package.typounit.stars
  else
    package.product_category