2014-02-24 16 views
0

我正在构建非常沉重的rails应用程序。我希望能够调用一个请求API数据的函数。我希望能够从任何控制器调用该函数,该控制器将运行一个函数并更新用户模型。Rails API GET功能无视图

我该怎么做?我在哪里写它以及如何访问它?

感谢

+0

我有点困惑你的意思是什么API。你的意思是一个Controller动作,它将被多个Rails视图访问,并且将更新用户模型? – Judy

+0

我想要一个没有视图的控制器操作。即我想从另一个功能更新我的用户数据。 – Marcus

回答

1

由于每个控制器继承的从ApplicationConttroller默认情况下,在那里定义的每个方法/函数都可以从任何控制器看到。

但是,如果你想从ApplicationController范围之外访问它(视图,助手等),你需要创建一个动作。你可以通过使用'render'方法和它的选项来设置这个动作将会呈现什么(更多here)。

例子:

render :nothing => true 

或者,如果你需要的行动来回报某些类型的数据,你可以使用“JSON”:

respond_to do |format| 
     format.json { render json: data, status: :ok } 
    end 
0

您可以使用一个动作没有这样一个观点:

def action 
    data = params #Do your work here 
    respond_to do |format| 
    format.json { render json: data, status: :ok } 
    end 
end 

创建的config/routes.rb中的路线:

get '/controller/action', to: 'controller#action' 
+0

一切都很有意义,直到你config/routes.rb这是你的意思写吗?重复自己 – Marcus