0

Rails では、一時的な属性 (データベースに保持したくない) を json 応答で送信しようとしています。この一時的なものを除くすべてのモデル属性を送信します。この属性を追加するために to_json メソッドを上書きしようとしています。これに関連するいくつかのエントリを読みましたが、うまくいきません。私は何かが欠けています。

私のモデル:

class Boat < ActiveRecord::Base

  attr_accessor :price

  def to_json(options = {})
    options[:methods] = :price;
    super(options)
  end

  belongs_to :boat_model
  belongs_to :port

end

私のコントローラー:

   @boats = Boat.find_by_sql(["SELECT * 
                                FROM boats b, ports p
                                WHERE p.name = ? 
                                AND b.port_id = p.id", port])
    @boats[0].price = 89
    @boats[1].price = 130

    puts 'price:' + @boats[0].price.to_s

    puts @boats.inspect
    render :json => @boats

inspect 応答も json 応答も、価格属性を送信または表示しません。

4

1 に答える 1