0

我正在使用这本书第 4 版,并且我已经完成了发送确认电子邮件的部分,但是当我在浏览器中进行测试时,我在下订单时遇到了问题……在这本书中(图 12.2:我们的结帐屏幕)

ActionView::MissingTemplate in Orders#create 显示 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:/Sites/final/app/views”

提取的源代码(第 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:/Sites/final

应用程序跟踪 | 框架跟踪 | 完整跟踪 app/views/notifier/order_received.text.erb:7:in _app_views_notifier_order_received_text_erb___555088091_31657836' app/mailers/notifier.rb:12:inorder_received' app/controllers/orders_controller.rb:58:in block in create' app/controllers/ orders_controller.rb:54:increate'

有任何想法吗???

4

2 回答 2

1

您缺少用于创建操作的订单视图模板。但是您可能不想要视图模板——您可能想要重定向到另一个操作,具体取决于成功或失败。就像是:

def create
  @person = Person.new(params[:person])
  if @person.save
    redirect_to @person, :notice => 'You successfully created person'
  else
    render :new
  end
end
于 2012-07-03T18:43:07.227 回答
0

问题在于 <%= render @order.line_items %> !我删除它并且工作正常并接收电子邮件!

于 2012-07-04T08:18:25.310 回答