簡體   English   中英

Rails app中缺少模板/部署到Heroku時創建POST操作

[英]Missing Template in Rails app on /create POST action when deployed to Heroku

我在Heroku上使用Rails應用程序遇到了一些非常奇怪的行為。 基本上,我在一個控制器中做了一個非常簡單的帖子,它失敗了,缺少模板異常。 對於我的生活,我無法弄清楚為什么這個內置的控制器動作會期望一個模板(??)。 奇怪的是,這在本地工作得很好 - 例外只發生在部署的應用程序上。 這就是我從Heroku日志中回來的全部內容。

Started POST "/camps" for ............ at 2011-11-17 23:27:47 +0000
ActionView::MissingTemplate (Missing template camps/create, application/create with
{:handlers=>[:erb, :builder, :haml], :formats=>[:html], :locale=>[:en, :en]}. Searched in:
* "/app/app/views"
* "/app/vendor/bundle/ruby/1.9.1/gems/kaminari-0.12.4/app/views"
* "/app/vendor/bundle/ruby/1.9.1/gems/devise_invitable-0.5.7/app/views"
* "/app/vendor/bundle/ruby/1.9.1/gems/devise-1.4.9/app/views"
):
cache: [POST /camps] invalidate, pass

它不應該渲染任何東西?

你的行動中有render :nothing => true嗎?

如果它與我剛剛遇到的問題類似,那么問題是由於某些原因,rails在處理完您的帖子請求后不知道該去哪里。 這是我的一些代碼,它們創建了完全相同的錯誤:

def create
  if params[:favorite] == true
    current_user.favorite == true
  else
    redirect_to root_url
  end
end

問題是如果if語句的第一部分為true,我將用戶最喜歡的屬性設置為true。 然后我什么也沒做。 我忘了通知鐵路下一步去哪里。 Rails繼續在create方法的底部,發現無處可去,所以它認為我必須定義一個默認的創建模板,然后去尋找它。 當它沒找到一個時,它基本上轉向我說:“我到底應該去哪兒?

固定代碼如下。

def create
  if params[:favorite] == true
    current_user.favorite == true
  end
  redirect_to root_url
end

在這個固定的代碼中,無論if語句如何結束,我仍然告訴rails它應該在完成這個方法之后進入根路由,也就是我的主頁。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM