1

当我在请求中明确指定时,不知道为什么有时某些用户会收到Missing template错误。remote: true我无法重现该错误。

缺少模板appreciations/create, logged_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 回答