我正在构建非常沉重的rails应用程序。我希望能够调用一个请求API数据的函数。我希望能够从任何控制器调用该函数,该控制器将运行一个函数并更新用户模型。Rails API GET功能无视图
我该怎么做?我在哪里写它以及如何访问它?
感谢
我正在构建非常沉重的rails应用程序。我希望能够调用一个请求API数据的函数。我希望能够从任何控制器调用该函数,该控制器将运行一个函数并更新用户模型。Rails API GET功能无视图
我该怎么做?我在哪里写它以及如何访问它?
感谢
由于每个控制器继承的从ApplicationConttroller默认情况下,在那里定义的每个方法/函数都可以从任何控制器看到。
但是,如果你想从ApplicationController范围之外访问它(视图,助手等),你需要创建一个动作。你可以通过使用'render'方法和它的选项来设置这个动作将会呈现什么(更多here)。
例子:
render :nothing => true
或者,如果你需要的行动来回报某些类型的数据,你可以使用“JSON”:
respond_to do |format|
format.json { render json: data, status: :ok }
end
您可以使用一个动作没有这样一个观点:
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'
一切都很有意义,直到你config/routes.rb这是你的意思写吗?重复自己 – Marcus
我有点困惑你的意思是什么API。你的意思是一个Controller动作,它将被多个Rails视图访问,并且将更新用户模型? – Judy
我想要一个没有视图的控制器操作。即我想从另一个功能更新我的用户数据。 – Marcus