Rails属性不显示/保存为空白

时间:2012-09-16 16:41:25

标签: ruby-on-rails attributes attr-accessible attr-accessor

属性balanced_card_uri正在保存为空白,并且未显示在此提升上:

https://img.skitch.com/20120916-fpmxabwg6m4ys3y84rkti615iq.jpg

以下是来自customer.rb的代码:https://gist.github.com/ee0b27bebe14d88417d9

在第一次遇到问题后,我意识到我在attr_accessble和attr_accessor中错误地命名了这些属性。我正确地重命名了它们,balanced_card_uri仍然显示为空白......

帮助!

1 个答案:

答案 0 :(得分:1)

您在balanced_customer中始终出现错误。你为什么不加一些条件陈述?

示例:

raise "Balanced Card: #{balanced_card_uri} Email: #{email}" if balanced_card_uri.blank? && email.blank?

无论如何,这不是继续进行的方式,你应该使用验证。例如:

validates :balanced_card_uri, presence: true

检查this page以获取更多信息。


旁注:为什么不将recurring_amountrecurring添加到attr_accessible


侧面旁注:

替换:

before_save :handle_recurring_donations, :if => :recurring

使用:

before_save :handle_recurring_donations, :if => :recurring?

问题似乎源于您的find_or_initialize_by_repeat_donator:您没有考虑任何参数。

你应该有一句话:

 customer.load(attrs)

你要保留所有的参数。