为所有ajax请求创建ajax控制器

时间:2011-06-18 18:12:32

标签: javascript jquery ruby-on-rails

我有一些javascript函数,如vote_up,vote_down,update_this,update_that等......

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 个答案:

答案 0 :(得分:1)

我该怎么做:

  • 将公众面临的行动保持在各自的控制器中,因为这些行动与控制器(缺乏更好的术语)控制的资源相关联。您还必须确保手动使用您的操作使用的每个资源,而不是让它们自动可用。

  • 查看各个动作以查看它们是否是重复逻辑,您可以将其重构为可根据需要混合到控制器的模块

  • 最后,考虑合并类似的功能,例如vote(userid,resource_type,resource_id,vote_value) vote_value可以是-1,0,1:-1 =>投票,1 =>投票,0 / nil =>回复当前对所述资源的投票