加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何在rake任务中渲染rabl视图?

发布时间:2020-12-17 03:21:42 所属栏目:百科 来源:网络整理
导读:我正试图在一个轨道3.2 rake任务中渲染一个rabl视图.我将它呈现为字符串,以便通过Pusher从后台任务发送一些 JSON.我从rake任务答案中查看了各种render_to_string,但它们似乎都没有工作.这是我到目前为止: controller = PostsController.newav = ActionView:
我正试图在一个轨道3.2 rake任务中渲染一个rabl视图.我将它呈现为字符串,以便通过Pusher从后台任务发送一些 JSON.我从rake任务答案中查看了各种render_to_string,但它们似乎都没有工作.这是我到目前为止:

controller = PostsController.new
av = ActionView::Base.new(MyApp::Application.config.paths['app/views'].first,{},controller)
@post = post
Pusher["some channel"].trigger('new_post',av.render(:template => 'posts/show.json.rabl'))

通过这次尝试,我获得了一个ActionView :: Template :: Error异常和错误“未定义的方法`参数’为nil:NilClass”.

解决方法

有一种更简单的方法可以通过调用 Rabl::Renderer methods来实现.但是当你尝试渲染某些东西时,你的上下文会很重要.因此,如果rabl文件中有任何控制器/辅助方法,请小心,因为它们在外面调用时将无法使用.以下是您可以使用的示例代码,使用Rabl 0.6.13进行测试.

Rabl::Renderer.json(@post,'posts/show',:view_path => 'app/views')

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读