2011-06-18 90 views
0

我有一個像vote_up,vote_down,update_this,update_that等一些JavaScript函數...創建Ajax控制器的所有Ajax請求

application.js 

function vote_up 
function vote_down 
function update_this... 

所有這些功能正在Ajax請求。

通常,當我在application.js中創建vote_up函數時,我在votes_controller中創建了一個方法。我的問題是:如果我爲所有ajax請求創建了一個AjaxController,它會是一個好的架構嗎?

代替

VotesController 

def vote_up 

UsersController 

def another_ajax 

AjaxController 

def vote_up 
def another_ajax 

注:我有太多的JavaScript函數。

回答

1

我怎麼會做:

  • 保持在各自的控制器上的面向公衆的行動,因爲這些行動與控制資源控制器(因爲缺乏一個更好的詞)相關聯。您還必須確保您手動使用您的操作使用的每個資源,而不是讓它們自動可用。

  • 看個人的行爲,看看他們是重複的邏輯,你可以重構出到您混合式控制器需要

  • 最後,想想結合類似的功能模塊,如vote(userid,resource_type,resource_id,vote_value)其中vote_value可以是-1,0,1:-1 =>向下投票,1 =>向上投票,0 /零=>以當前的投票表示迴應所述資源