2016-11-23 5 views
0

私はRailsプロジェクトで重複コードを減らすようにしていました。リファクタリング・レール・コントローラ・コード

def update_receipt 
    user = current_user 
    Receipt.update(user.receipt.id, name: params[:name].to_s, phone_number: params[:phone_number].to_s, address: params[:address].to_s, receipt_type: params[:receipt_type].to_i) 
    Receipt.update(user.receipt.id, name: params[:name].to_s, phone_number: params[:phone_number].to_s, address: params[:address].to_s, receipt_type: params[:receipt_type].to_i, tax_number: params[:tax_number].to_i) if params[:receipt_type].to_i == 2 
end 

上記のコードをリファクタリングするには、より良い方法がありますか?

答えて

0

更新答え:

def update_receipt 
    attrs = params.slice(:phone_number, :address, :receipt_type) 
    attrs[:tax_number] = params[:tax_number] if attrs[:receipt_type].to_i == 2 
    Receipt.update(user.receipt.id, attrs) 
end 
関連する問題