【问题标题】:RJS Handler missing缺少 RJS 处理程序
【发布时间】:2011-10-03 11:44:55
【问题描述】:

当我尝试使用 RJS 完成任务时,出现模板丢失错误。

我想要的只是在 ajax 调用上执行一个 RJS 文件。但我得到了 以下错误。

ActionView::MissingTemplate (Missing template line_items/create,
application/create with {:handlers=>[:erb, :builder, :coffee],
:formats=>[:js, :html], :locale=>[:en, :en]}. Searched in:
  * "<MY APP PATH>/app/views"
):
  app/controllers/line_items_controller.rb:46:in `create'

但 create.js.rjs 存在于文件夹 /views/line_items 中。你 可以看到处理程序错过了 .rjs 扩展名。我认为这导致 错误。

如果我将 .rjs 更改为 .erb,它会起作用,并且内容会被执行为 javascript,因此我需要将 RJS 函数修改为 Javascript 以 返回 AJAX 调用的内容。

您能否解释一下我如何使用 RJS 实现这一目标?请帮忙。

以下是我使用的工具版本。

Ruby version  1.9.2 (i686-linux)
RubyGems version  1.8.10
Rack version  1.3
Rails version  3.1.0
JavaScript Runtime  Node.js (V8)
Active Record version  3.1.0
Action Pack version  3.1.0
Active Resource version  3.1.0
Action Mailer version  3.1.0
Active Support version  3.1.0

提前致谢。

【问题讨论】:

    标签: ruby-on-rails-3 rjs


    【解决方案1】:

    为了在 Rails 3.1 中使用 RJS,您必须使用 prototype-rails gem

    【讨论】:

    • 是的,prototype-rails 已安装。当我进入 gems 列表时,它的列表原型-rails。请帮忙
    【解决方案2】:

    确保prototype-rails gem 在bundler 的生产组中。如果你把它放在资产组中,它不会注册 RJS 模板处理程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-29
      • 2021-12-16
      • 2020-12-16
      • 1970-01-01
      相关资源
      最近更新 更多