creating ajax controller for all ajax requests
I have some javascript functions like vote_up, vote_down, update_this, update_that etc...
application.js
function vote_up
function vote_down
function update_this...
All these functions are making ajax requests.
Normally when i create vote_up function in application.js, i create a method in votes_controller. My question is: If i created an AjaxController for all ajax requests, would it be a good architecture?
instead of
VotesController
def vote_up
UsersController
def another_ajax
this
AjaxController
def vote_up
def another_ajax
No开发者_JS百科te: I have too many javascript functions.
How I would do it:
- Keep the public facing actions in their respective controllers since those actions are associated with the resource the controller is (for lack of a better term) controlling. You will also have to make sure that you pull in each resource your actions use manually rather than just having them automatically available. 
- Look at the individual actions to see if their is repetitive logic you can refactor out into a module that you mix-in to the controller as needed 
- Lastly, think about combining similar functions, such as - vote(userid,resource_type,resource_id,vote_value)where- vote_valuecan be -1,0,1 : -1 => vote down, 1 => vote up, 0/nil => respond with current vote for said resource
 
         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论