2

/app/views/users/ にある create.js.erb テンプレートを使用しようとしていますが、次のエラーが発生します。

Template is missing
Missing template users/create, application/create with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}. Searched in: * "/home/tim/fairym/app/views" 

私のコントローラー アクションは、次の railscast に基づいています: http://railscasts.com/episodes/381-jquery-file-upload

  def create   
    @user = User.create(params[:user])
  end

ここで何が問題なのですか?

4

3 に答える 3

3

js ファイルは必要ありません。メソッドにブロックを追加respond_toします。

def create
  @user = User.create(params[:user])

  respond_to do |format|
    format.js
    # add more 'format' calls for any other formats this method should ever respond to.
  end
end
于 2012-10-25T18:49:39.983 に答える
2

これはすでに回答されていることは知っていますが、同じ問題とエラーメッセージがあり、フォームに「remote: true」を追加して解決しました。これは、フォームで ajax 呼び出しを送信するたびに必要になります。

これはほとんどの人にとって明らかなことですが、これらのことをよく忘れる私のような初心者にはわかりません.

例えば:

<%= form_for([@club, @club_order], remote: true) do |f|  %>

お役に立てれば。

于 2013-01-07T19:41:44.117 に答える
1

テンプレートが見つからない理由は、Railscast のエピソードで気付いた場合、彼がデータ型の AJAX 要求を行っているためです。script

$('#new_painting').fileupload
    dataType: "script"

そのため、作成アクションへのリンクをどのように行っているかによって、そのリンクはおそらく html 形式がレンダリングされることを期待しています。

Template is missing
Missing template users/create, application/create with {:locale=>[:en], **:formats=>[:html]**, :handlers=>[:erb, :builder, :coffee]}. Searched in: * "/home/tim/fairym/app/views"

render jsアクションに を追加するか、ajax リクエストを実行している場合は、データ型がスクリプトに設定されていることを確認して、これを修正できます。

于 2012-10-25T18:54:30.703 に答える