使用原始值更新

时间:2017-06-15 07:42:40

标签: ruby-on-rails ruby activerecord rails-activerecord

我有一个带有属性ID,名称,代码和速率的Bank模型。我只是改变了银行模式的利率方法。但问题是当我更新银行对象时,它会考虑rate属性方法中的条件。无论我从输入中得到什么,我想更新原始值。

银行模型的参考属性

  def rate
    authorised? ? (super * 100) : 0
  end

银行控制器中的更新方法

  def update_banks
    banks = []
    banks = get_all_banks(params[:banks])

    begin
      ActiveRecord::Base.transaction do
        if banks.each { |b| b.save! }
          redirect_to banks_url, notice: 'Banks were successfully updated.'
        else
          raise ActiveRecord::Rollback
        end
      end
    rescue Exception=>e
      redirect_to edit_rates_rates_path(bank_id: params.fetch(:select_bank)[:bank_id], product_id: params.fetch(:select_product)[:product_id], date: params[:date])
      flash[:error] = ["<b>Rates could not be updated at the moment.</b>"]
      rates.each { |rate| rate.errors.full_messages.each { |message| flash[:error] << message } }
    end 
 end

我正在获取银行对象列表。有没有办法告诉铁路忽略&#34;率&#34;银行模型的方法并考虑输入值?

由于

0 个答案:

没有答案