避免在partials视图中使用实例变量

时间:2018-01-30 06:26:06

标签: ruby-on-rails

我在控制器方法中有@productrecords@clone_record。将以下代码部署到暂存时,

= f.association :product, :collection => Category.products,:include_blank => "Select Product",:label => "* Product", :selected =>@productrecords.product_id ? @productrecords.product_id : @clone_record.product_id

我在houndci bot中收到错误“避免在partials视图中使用实例变量”。

解决此问题的最佳做法是什么?

1 个答案:

答案 0 :(得分:3)

  

是。它位于部分文件

警告/错误告诉您的:不要在部分文件中使用实例变量 。相反,使用局部变量。例如:

您的部分渲染看起来像这样:

= render 'my_partial'

像这样更改以明确传递所有变量:

= render 'my_partial', productrecords: @productrecords, clone_record: @clone_record

你的部分人现在会使用当地人:

= f.association :product, :collection => Category.products,:include_blank => "Select Product",
               :label => "* Product", 
               :selected =>productrecords.product_id ? productrecords.product_id : clone_record.product_id