我有一些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函数。
答案 0 :(得分:1)
我该怎么做:
将公众面临的行动保持在各自的控制器中,因为这些行动与控制器(缺乏更好的术语)控制的资源相关联。您还必须确保手动使用您的操作使用的每个资源,而不是让它们自动可用。
查看各个动作以查看它们是否是重复逻辑,您可以将其重构为可根据需要混合到控制器的模块
最后,考虑合并类似的功能,例如vote(userid,resource_type,resource_id,vote_value)
vote_value
可以是-1,0,1:-1 =>投票,1 =>投票,0 / nil =>回复当前对所述资源的投票