“分配分支条件太大”以及如何解决这个问题是什么意思?

在我的Rails应用程序中,我使用Rubocop来检查问题。 今天它给了我这样一个错误: Assignment Branch Condition size for show is too high 。 这是我的代码:

 def show @category = Category.friendly.find(params[:id]) @categories = Category.all @search = @category.products.approved.order(updated_at: :desc).ransack(params[:q]) @products = @search.result.page(params[:page]).per(50) rate end 

这是什么意思,我该如何解决?

分配分支条件(ABC)大小是方法大小的度量。 这基本上是通过计算A分配, B分配和C条件语句的数量来确定的。 (更多详情..)

为了减lessABC的大小,你可以将一些赋值移到before_action调用中:

 before_action :fetch_current_category, only: [:show,:edit,:update] before_action :fetch_categories, only: [:show,:edit,:update] before_action :fetch_search_results, only: [:show,:edit,:update] #or whatever def show rate end private def fetch_current_category @category = Category.friendly.find(params[:id]) end def fetch_categories @categories = Category.all end def fetch_search_results @search = category.products.approved.order(updated_at: :desc).ransack(params[:q]) @products = @search.result.page(params[:page]).per(50) end 
Interesting Posts