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

Posted

技术标签:

【中文标题】Rails 3-修复涉及模板和 JS 生成器的主宰【英文标题】:Rails 3- fixing juggernaut involving template and JS generator 【发布时间】:2011-04-27 17:04:27 【问题描述】:

我在 Rails 3 中使用原始的 Juggernaut(不是 Juggernaut 2)。在 lib/juggernaut.rb 中,由于无法找到 @template 而中断。根据this other post,Rails 3的控制器中没有提供@template

如何修复以下代码,使其可以在 Rails 3 中顺利运行? (这里是original script的链接。寻找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 的 sn-p 涉及 JavaScriptGenerator(其中 需要@template)

您对如何执行其中一种或其他方式有任何建议吗?

谢谢!

【问题讨论】:

【参考方案1】:

您不使用剑圣 2 的原因是什么?旧版支持?

【讨论】:

实际上我最终使用了剑圣2。上面的问题似乎仍然很有趣。

以上是关于Rails 3-修复涉及模板和 JS 生成器的主宰的主要内容,如果未能解决你的问题,请参考以下文章

将 Spine 与主宰相结合

在 Rails 生成器模板中查找列/属性的类型?

Rails - 如何将生成的 URL 修复为友好的 URL

Rails3 使用 text/html 内容类型而不是 text/javascript 呈现 js.erb 模板

在 Rails 中更改脚手架控制器生成器模板

Rails 4删除受模板JS影响的链接