0

jsonのデフォルトのモデル値を上書きしようとしていますが、上書きする代わりに重複したハッシュを作成します

私のモデル:

class HomeScreenButton < ActiveRecord::Base
    belongs_to :product_category    
    validates :product_category_id, :x, :y, :presence => true
  attr_accessible :product_category_id, :x, :y

  def as_json(options={})
    hash = super(options)
    hash.merge({
      :product_category_id => "fdfd"
    })
  end
end

私のコントローラー:

def index
    @home_screen_buttons = HomeScreenButton.all

    respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @home_screen_buttons}
    end
end

jsonを開くと、product_category_idの重複が表示されます。 [{"created_at":"2013-03-17T11:14:32Z","id":1,"product_category_id":5,"updated_at":"2013-03-17T11:14:32Z","x":300,"y":200,"product_category_id":"dfdffff"}]

4

1 に答える 1

1

ハッシュをマージする必要はありません

def as_json(options={})
  hash = super(options)
  hash[:product_category_id] = "fdfd"
  hash
end
于 2013-03-20T20:45:09.977 に答える