2015-09-04 77 views
0

我具有類似於下面的代碼,比Rails控制器有支架的控制器行爲沒有太大的不同:爲什麼Rails在指定格式時顯示ActionController :: UnknownFormat?

應用/模型/ user.rb

class User < ActiveRecord::Base 
    validates :first_name, :last_name, presence: true 
end 

應用程序/控制器/ users_controller.rb

def create 
    @user = User.new(first_name: params[:first_name]) # oops, I forgot the last_name! 

    respond_to do |format| 
    if @user.save 
     format.html { redirect_to user_path(@user) } 
    end 
    # do nothing if [email protected] 
    end 
end 

回答

0

對於Rails的newb,這可能是一個難以解決的問題。如果respond_to區塊中有多個條件路徑,則應確保已考慮所有結果。如果您沒有提供else分支作爲後備,則可以在不遇到format.*塊的情況下對respond_to塊進行評估,Rails將其解釋爲「未指定格式」。

示例代碼是我遇到的實際代碼的簡化版本,並且正在努力識別錯誤消息的原因。據我所知,我提供了格式html,但是當我認爲我的format.html塊在條件內達到時我錯了。

我試圖用Pry調試這段代碼,結果發現自己正在瀏覽Rails源代碼,無法確定爲什麼我看到錯誤。

相關問題