有没有更优雅的方法用ruby编写这个,也许使用循环?

def save_related_info
  update_column(:sender_company_name, user.preference.company_name)
  update_column(:sender_address, user.preference.address)
  update_column(:sender_telephone, user.preference.telephone)
  update_column(:sender_email, user.preference.email)
  update_column(:sender_url, user.preference.url)
  update_column(:sender_vat_number, user.preference.vat_number)
  update_column(:sender_payment_details, user.preference.payment_details)
end

谢谢你的帮助。

最佳答案

def save_related_info
  %w[company_name address telephone email url vat_number payment_details]
  .each{|s| update_column("sender_#{s}".to_sym, user.preference.send(s))}
end

关于ruby-on-rails - 如何使用循环编写此Ruby函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18161541/

10-11 06:03