2012-11-11 83 views
1

不知道爲什麼有時某些用戶得到缺少模板錯誤時,我明確指定remote: true在請求中。我無法重現錯誤。ActionView :: MissingTemplate發生在讚賞#創建

缺失模板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

回答

-1

,因爲他們試圖直接致電該網站在瀏覽器中 - 例如,因爲它們複製從AJAX請求的URL莫名其妙......至少這是我們當客戶做;-)我想你可以簡單的錯誤忽略它

+1

感謝您的答覆。但它經常發生,所以我傾向於認爲其他事情正在發生。 – anu

+0

不同意你的觀點,即使它不影響你,你也不能忽視錯誤。我實際上在相同的上下文中發現了完全相同的錯誤,我正在挖掘以發現問題。將在這裏發佈答案 – Erowlin

+0

@Erowlin我期待看到你的方法。不過,我仍然相信,你無法解決這個問題。如果用戶操縱網址,我認爲他想要做一些「骯髒」的事情,他不應該這樣做。在這種情況下,我們在HTTP中有狀態碼404(請參閱RFC 2616) – awenkhh

0

好了,這裏就是答案

def your_method_without_refresh 
    # Put your stuff here 
    redirect_to "#"   # This one is the trick 
    end 
+0

這不能解決問題...閱讀我的評論下面...我不會降級你的答案,因爲這將是幼稚的;-) – awenkhh

相關問題