Ruby on rails 这种方法有什么复杂之处
我的rails控制器中有此操作Ruby on rails 这种方法有什么复杂之处,ruby-on-rails,ruby-on-rails-3,optimization,complexity-theory,Ruby On Rails,Ruby On Rails 3,Optimization,Complexity Theory,我的rails控制器中有此操作 def step_submit validate_user() @owning = @user.create_user_car_transaction(Variant.find(params[:variant]), params[:details], params[:address], params[:somethin1]) Contact.user_contact(current_user, params[:contact]) if @u
def step_submit
validate_user()
@owning = @user.create_user_car_transaction(Variant.find(params[:variant]), params[:details], params[:address], params[:somethin1])
Contact.user_contact(current_user, params[:contact]) if @user.contact.nil?
redirect_to "/next_step"
end
我使用codeClimate来检查代码的质量
它显示了此操作的复杂性~30。。
实际上,我在这方面打破了一个非常巨大的方法。。我怎样才能降低这种复杂性
这些是操作调用的不同方法
def self.user_contact(user, contact_hash = nil)
contact = user.contact || user.create_contact()
contact.update_attributes(contact_hash) if contact_hash.present?
contact
end
def validate_user
if params[:user] && current_user.nil?
user = User.create(params[:user])
sign_in user
end
end
def create_user_car_transaction(car, details_hash, address_hash, coupon_hash = nil)
transaction = self.transactions.create()
car.transaction_item = transaction.transaction_items.create()
car.save
payment_hash = details_hash
payment_hash.merge!(address_hash)
payment = transaction.create_payment(payment_hash)
transaction.update_attributes(:status=>"1") if transaction.status.nil?
transaction
end
您必须添加有关在此操作中调用的不同方法的更多信息。。创建用户车交易->这个方法是什么?用户\u联系人->此方法的作用是什么?您没有太多的代码行..但是在您的方法背后可能是复杂性。请同时发布你的方法..嗨,我已经编辑了这个问题,显示了我在这个动作中调用的方法。看起来你的方法做了很多事情;-)。尝试对每种方法进行基准测试,您将确定哪种方法会导致性能问题。。