2012-07-03 50 views
0

我正在與書第四版,我已經完成發送確認電子郵件部分,但是當我在瀏覽器中進行測試時,我有一個問題,當我下訂單..在書中在這種(圖12.2:我們的結帳屏幕)RoR電子郵件與第四版書

::的ActionView在MissingTemplate訂單#創建顯示C:/Sites/final/app/views/notifier/order_received.text.erb其中線#7提出:

使用{:locale => [:en],:formats => [:text],:handlers => [:erb,:builder,:jbuilder,:coffee]}缺少部分line_items/line_item。搜尋在:* 「C:/站點/最終/應用程序/意見」

提取的源(圍繞線#7):

4: 
5: You ordered the following items: 
6: 
7: <%= render @order.line_items %> 
8: 
9: We'll send you a separate e-mail when your order ships. 

Rails.root:C:/站點/最終

應用程序跟蹤|框架跟蹤|完整跟蹤app/views/notifier/order_received.text.erb:7:在_app_views_notifier_order_received_text_erb___555088091_31657836'app/mailers/notifier.rb:12:inorder_received'app/controllers/orders_controller.rb:58:在創建'app/controllers/orders_controller.rb:54:增加'

任何想法???

+0

請使用四個空格縮進源代碼示例以獲取正確的格式。它使你的問題更容易閱讀。 – tadman

回答

1

您缺少創建操作的訂單視圖模板。但是,您可能不希望爲視圖創建模板 - 您可能希望重定向到其他操作,具體取決於成功還是失敗。例如:

def create 
    @person = Person.new(params[:person]) 
    if @person.save 
    redirect_to @person, :notice => 'You successfully created person' 
    else 
    render :new 
    end 
end 
+0

問題是在order_controller DEF創建 @order = Order.new(PARAMS [:爲了]) @ order.add_line_items_from_cart(current_cart) 的respond_to做|格式| 如果 '@ order.save' Cart.destroy(會話[:cart_id]) 會話[:cart_id] =零 Notifier.order_received( '@爲了')遞送 #.... 當我除去。 Notifier.oder_received(@order).deliver工作正常,但我沒有收到電子郵件..任何想法? – marios

+0

@marios你能展示更多的代碼嗎,例如'.order_received'?你能確認你的電子郵件發送工作正常嗎? –

+0

order_received是在郵寄者> notifire和是: 類通告<的ActionMailer ::從基地 缺省: '信貸基金紅寶石<[email protected]>' DEF order_received(順序) '@order =順序' 郵件:至=> order.email,:subject =>'Koshbay Store Order Confirmation' end def order_shipped(order) '@order = order' mail:to => order.email,:subject =>'Koshbay Store Order Shipped ' 結束 結束 – marios

0

問題出在<%= render @ order.line_items%>! 我刪除它,並工作完美,並收到電子郵件!