0

私は次のようなアクションを持っています:

def get_data
  @people = Person.all

  respond_to do |format|
    format.json do
      render :json => {
        :success => true, 
        :people => @people.as_json({
          :only => [:person_name, :text_description, :text_heading],
          :methods => [:title,:age_group],
        })
      }
    end
  end
end

ここで title と age_group はモデル Person の私のメソッドです

def age_group
  self.name
end

今、私はこのように見えるようにしたい

def age_group(age)
  # ...      
end

シンボルとして存在するメソッド表現としてコントローラーからこの引数を渡すにはどうすればよいですか。

4

1 に答える 1

1

こんにちは、私の提案によると、メソッドをオーバーライドするか、オプションに応じてインスタンスメソッドを作成して、ハッシュまたはjsonを生成できます.as_jsonを使用したい場合は、コードを掘り下げることができます。 /rails/rails/blob/2-3-stable/activerecord/lib/active_record/serialization.rb#L33メソッドがどのように渡されるかがわかります。

于 2012-09-10T10:58:11.630 に答える