【发布时间】:2012-03-02 08:19:00
【问题描述】:
以下是发票控制器中的更新代码:
def update
@invoice = Invoice.find(params[:id])
if @invoice.approved_by_corp_head_changed?
@invoice.approve_date_corp_head = Time.now
@invoice.corp_head_id = session[:user_id]
end
if @invoice.update_attributes(params[:invoice], :as => :roles_update)
redirect_to URI.escape("/view_handler?index=0&msg=Updated")
else
flash.now[:error] = 'Not saved!'
render 'edit'
end
end
approved_by_corp_head 的值已正确保存。问题是if @invoice.approved_by_corp_head_changed? 总是假的,IF 循环永远不会被执行。在 Rails 控制台中,@invoice.approved_by_corp_head_changed?如果值改变,则为真。这里有什么问题?非常感谢。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3