RoR电子邮件与第4版书

时间:2012-07-03 18:15:22

标签: ruby-on-rails

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

Orders#中的ActionView :: MissingTemplate创建显示c:/Sites/final/app/views/notifier/order_received.text.erb,其中第7行被提升:

缺少部分line_items / line_item与{:locale => [:en],:formats => [:text],:handlers => [:erb,:builder,:jbuilder,:coffee]}。搜索:*“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:在_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:increate'

任何想法???

2 个答案:

答案 0 :(得分:1)

您缺少创建操作的订单视图模板。但是您可能不希望视图的模板 - 您可能希望重定向到另一个操作,具体取决于成功或失败。类似的东西:

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

答案 1 :(得分:0)

问题出在&lt;%= render @ order.line_items%&gt; ! 我删除它,工作正常,接收电子邮件!