2011-06-18 55 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 /零=>以当前的投票表示回应所述资源