在我的 Rails 3 应用程序中,我使用 Ajax 来获取格式化的 HTML:
$.get("/my/load_page?page=5", function(data) {
alert(data);
});
class MyController < ApplicationController
def load_page
render :js => get_page(params[:page].to_i)
end
end
get_page
使用该content_tag
方法并且应该在app/views/my/index.html.erb
.
由于get_page
使用了许多其他方法,我将所有功能封装在:
# lib/page_renderer.rb
module PageRenderer
...
def get_page
...
end
...
end
并像这样包含它:
# config/environment.rb
require 'page_renderer'
# app/controllers/my_controller.rb
class MyController < ApplicationController
include PageRenderer
helper_method :get_page
end
但是,由于该content_tag
方法在 中不可用app/controllers/my_controller.rb
,因此出现以下错误:
undefined method `content_tag' for #<LoungeController:0x21486f0>
所以,我尝试添加:
module PageRenderer
include ActionView::Helpers::TagHelper
...
end
但后来我得到了:
undefined method `output_buffer=' for #<LoungeController:0x21bded0>
我究竟做错了什么 ?
你会如何解决这个问题?