1

リクエストで明示的に指定したときに、一部のユーザーがMissing templateエラーを受け取ることがある理由がわかりません。remote: trueエラーを再現できません。

テンプレートappreciations/createlogged_in/createがありapplication/createません{:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :haml]}。検索場所: ...

私のビューコード

<%= link_to 'Appreciate',  feed_appreciations_path(feed), method: 'post', :remote => true %>

コントローラーコード

class AppreciationsController
  respond_to :js
  before_filter :load_feed

  def create
    @appreciation = @feed.appreciations.new(params[:appreciation])
    @appreciation.save
  end

  ...
end

私はviews/appreciations/create.js.erb定義して働いています。

入ってくるリクエストで私は持っています

  • HTTP_ACCEPT : text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

  • action_dispatch.request.formats : [text/html]

指定したのに、リクエストが js リクエストとして来ないのはなぜremote: trueですか?

4

2 に答える 2

0

わかりました、ここに答えがあります

  def your_method_without_refresh
    # Put your stuff here
    redirect_to "#"          # This one is the trick
  end
于 2013-02-07T15:26:51.380 に答える
-1

ブラウザで直接サイトを呼び出そうとするからです - たとえば、AJAX リクエストから何らかの形で URL をコピーしたからです ... 少なくともこれは、顧客がそれを行ったときに発生するエラーです ;-) 単に無視してよいと思います

于 2012-11-11T18:24:05.773 に答える