0

我之前已经多次添加 JavaScript 部分,但不可否认有一段时间。简而言之,我错过了一些愚蠢的东西。

当我尝试在此视图的末尾呈现部分“deleteme.js”时:

/app/views/projects/myview.html.slim:

h2 Stuff goes here

render partial: '/projects/thisworks' # Render html partial

render partial: '/projects/deleteme.js' # Render js partial...fails

这使得这个部分:

/app/views/projects/_deleteme.js.erb:

console.log("Oh FFS, Work");

我得到:

项目中的 ActionView::MissingTemplate#show

显示 /Users/aj/Web/Rails/sh3/app/views/projects/show.html.slim 其中第 5 行提出:

缺少带有 {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :slim, :jbuilder, :coffee, :haml]} 的部分 /projects/deleteme . 搜索:* ...

罪魁祸首是它只搜索格式 => [:html],但我认为附加 .js 会自动告诉 rails 搜索 javascript。如果有人对为什么找不到 JS 模板有任何想法,我将不胜感激。动作代码是一个非常基本的:

def show
  @project = Project.find(params[:id])
end
4

2 回答 2

1
 /app/views/projects/_deleteme.js.erb:

您将部分命名与 Javascript 动作命名交织在一起!

 /app/views/projects/deleteme.js.erb:

重命名您的javascript文件,删除_

你必须确保你的节目响应 js

def show
  respond_to do |format|
    format.js
    format.html
  end
end
于 2013-01-29T02:00:24.097 回答
0

你在一个苗条的模板中调用一个部分,所以它希望找到

app/views/projects/_deleteme.js.slim
于 2013-01-29T02:07:15.547 回答