ape*_*rez 3 ruby json ruby-on-rails render ruby-on-rails-4
我需要覆盖“ render json”,但是我不需要覆盖模型,在模型中,我知道我可以打开ActiveRecord :: Base并覆盖as_json方法。但是我的问题是当我有这样的事情时
class TestController < ApplicationController
def index
render json: { field: 'is a test' }
end
end
Run Code Online (Sandbox Code Playgroud)
我的问题是因为我使用了一个gem,在其中我需要返回“ render json”的某些方法,而这个gem没有为此提供集中化的方法。我认为在gem的do fork中进行重构,因为我可以覆盖集中化方法,但是首先我想知道是否有可能覆盖渲染。
您可以打开ActionController :: Base类并在那里重写render方法。但是,我不确定这是否是最好的主意,这取决于您遇到的实际麻烦,而您没有向我们提供有关该问题的太多详细信息,即您希望得到什么以及您实际上得到了什么。
更新
我可能会喜欢:
class ActionController::Base
def render *args
options = args.extract_options!
if options[:json]
\\ do whatever you need here
end
args << options
super *args
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1444 次 |
| 最近记录: |