2010-10-06 19 views
0

我有一個模型,說User。我想打電話/usersusers_controller#index)和基本上傳遞一個範圍,以便它返回一個基於數據:Rails InheritedResources - 使用`find_and_return_for_some_grid`而不是`find(:all)`來響應JSON,?

  1. 格式(JS,JSON,HTML)
  2. 圖表/網格/佈局將在呈現(highcharts,基本的HTML表,jQuery的flexigrid等)

隨着inherited_resourceshas_scope,你可以做這樣的事情,但它不是這麼回事。

我想回到[{:page => 10, :cells => [{:name => "User A"}...]}]如果PARAMS是像{:action => "index", :format => "js", :grid => "flexigrid"},並返回一個HAML模板呈現[#<User name='User A'>...]如果它只是HTML。

如何在帶有繼承資源的Rails中進行REST風格的操作?

事情是這樣的:

class UsersController < InheritedResources::Base 
    respond_with :js, :method => :find_and_return_for_grid 
end 

這是否需要我creating my own Responder

回答

1

你需要重寫指數法,是這樣的:

def index 
    index! do |format| 
    format.html 
    format.js do 
     if(params[:grid] == "flexigrid") 
     render :json => format_for_grid(collection).to_json 
     end 
    end 
    end 
end 

隨着format_for_grid的方法,其將用戶的數組數據格式你想

本人來說說我不會格式化js的響應是這樣的,我的意思是分割單元格中的響應是我在js視圖方面做的事情,因爲它與你想要顯示數據的方式有關,我認爲它會嚐到更多的Restful來返回非顯示面向對象的collection.to_json

相關問題