2012-06-23 2 views
0

У меня есть довольно длинный вывод json в моем контроллере, я хочу переместить его в модель, поскольку это кажется хорошей практикой. Во-первых, метод контроллера:Как определить в rails модель json метод генерации json?

def dashboard 
    @line_items = LineItem.all 

    respond_to do |format| 
    format.json { render json: @line_items.as_json(include: {project: {include: {spec: {methods: [:dashboard_due_at]} },methods:[:company_name, :contacts_names, :owner_names] }}, methods:[:dashboard_created_at, :dashboard_length])} 
    end 
end 

Как я могу переместить все, начиная с as_json в модели LineItem, так что я могу просто сделать

format.json { render json: @line_items.dashboard_json } 

Спасибо!

+1

Посмотрите на https://github.com/josevalim/active_model_serializers/ – tee

ответ

1

в модели LineItem

def dashboard_json 
    as_json(include: {project: {include: {spec: {methods: [:dashboard_due_at]} }, 
    methods:[:company_name, :contacts_names, :owner_names] }}, 
    methods:[:dashboard_created_at, :dashboard_length]) 
end