Rails 3 - 涉及模板和 JS 生成器的修复主宰

发布于 2024-09-28 12:22:49 字数 1230 浏览 7 评论 0原文

我正在使用原始的 Juggernaut (不是 Juggernaut 2) 与 Rails 3。在 lib/juggernaut.rb 中,它由于无法找到 @template 而中断。根据另一篇帖子@template< Rails 3 的控制器中没有提供 /code> 。

如何修复以下代码,使其能够在 Rails 3 中顺利运行? (这是原始脚本的链接。查找 < code>render_with_juggernaut。)

      if @template.respond_to?(:_evaluate_assigns_and_ivars, true)
        @template.send(:_evaluate_assigns_and_ivars)
      else
        @template.send(:evaluate_assigns)
      end

      generator = ActionView::Helpers::PrototypeHelper::JavaScriptGenerator.new(@template, &block)            
      render_for_juggernaut(generator.to_s, options.is_a?(Hash) ? options[:juggernaut] : nil)

我认为可以做以下两件事之一:

  • 获取 @template 以某种方式
  • 生成一段 JS 代码,而无需 涉及 JavaScriptGenerator (其中 需要@template)

您对如何执行这些或其他方式之一有什么建议吗?

谢谢!

I'm using the original Juggernaut (not Juggernaut 2) with Rails 3. In the lib/juggernaut.rb, it breaks due to not being able to find @template. According to this other post, @template is not provided in controllers in Rails 3.

How can I fix the following code, so that it can run smoothly with Rails 3? (Here's a link to the original script. Look for render_with_juggernaut.)

      if @template.respond_to?(:_evaluate_assigns_and_ivars, true)
        @template.send(:_evaluate_assigns_and_ivars)
      else
        @template.send(:evaluate_assigns)
      end

      generator = ActionView::Helpers::PrototypeHelper::JavaScriptGenerator.new(@template, &block)            
      render_for_juggernaut(generator.to_s, options.is_a?(Hash) ? options[:juggernaut] : nil)

I'm thinking one of two things can be done:

  • get a hold of @template somehow
  • produce a snippet of JS without
    involving JavaScriptGenerator (which
    requires @template)

Do you have any suggestions on how to do one of these or other ways?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你另情深 2024-10-05 12:22:49

您不使用 Juggernaut 2 的原因是什么?遗留支持?

What's the reason you're not using Juggernaut 2? Legacy support?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文