4

Rails 3.2.11 と Coffee Rails 3.2.2 を使用しています。

ここでは、ファイル/app/views/my_files/create.js.coffee.erbでコーヒー スクリプトをレンダリングしようとしています。

ここに私のコントローラーコードがどのように見えるかがあります

class MyFilesController < ApplicationController    
  respond_to :js

  def create
  end

end

create アクションを押すと、missing template error が発生します。しかし、ファイルの名前をcreate.js.coffee.erbからcreate.js.coffeeに変更すると、正常に動作します。

.coffee に対する.erb 拡張子の問題が何であるかを理解していません。この場合、テンプレートが既に存在するのに、テンプレートが見つからないというエラーが発生するのはなぜですか?

ありがとう

4

2 に答える 2

1

ファイルの名前をcreate.js.coffeeに変更します

app/views で new.js.coffee.erb をレンダリングする方法を参照 してください。

ちょうど同じ問題がありました...

于 2013-05-01T09:48:54.087 に答える
-1

コーヒースクリプトをアセットとして使用するのではなく、ビューとしてレンダリングしようとしている特定の理由はありますか?

.erb は、コンパイル時に html ファイルを生成する ruby​​ スクリプト ファイルです。.js.coffee は、コンパイル時に .js ファイルになります。create.js.coffee を使用する create.html.erb テンプレートで .erb を使用する必要があります。

<%= javascript_include_tag "create" %>

これは、MyFilesController の create メソッドによって呼び出される create.html.erb にある必要があります。

于 2013-01-16T03:02:02.843 に答える