0
我需要的是禁用rails中的自動頁面(HTML)渲染並使用after_action方法覆蓋它。我試圖實現的是相當於CakePHP $ this-> autoRender = false;在rails中禁用自動渲染
application_controller.rb
class ApplicationController < ActionController::Base
after_action :custom_render
layout nil # Tried this but didn't worked
def custom_render
render #[...]
end
end
some_controller.rb
class SomeController < ApplicationController
def index
# No rendering here
end
end
正如我嘗試添加一個佈局零,以防止渲染所有操作的代碼所示,但似乎沒有不影響行爲的行爲。
這不是'after_action'的用處。整個觀點是它可以訪問呈現的響應。如果你想寫一個自定義的渲染方法,有[更好的方法](http://beerlington.com/blog/2011/07/25/building-a-csv-renderer-in-rails-3/)。如果您可以告訴我們更多關於您的實際問題的信息,我們可能會提供一個更好的解決方案,而不是等同於'$ this-> autoRender = false',它不存在。 – meagar 2014-10-02 01:33:56
我想創建一個主題切換器,ApplicationController從數據庫中選擇用戶選擇的主題,並呈現相應的模板。 – bukk530 2014-10-02 01:44:52
似乎你想要路由到'ThemesController'的'random'動作,然後......?如果ApplicationController執行所有渲染,那麼在動作內部應該做些什麼? – meagar 2014-10-02 01:46:00