0
我有一个多维数组:@line_itemsRails:从多维数组创建一维数组
它与模型,产品和用户有链接。
我想从@line_items生成一个包含用户邮件的单维数组。
事情是这样的:
emails = @line_items.product.user.email
但它不能正常工作,并给出错误:
undefined method `user' for #<Array:0xb1a12e74>
对于它的工作原理单LINE_ITEM。
email = @line_item.product.user.email
我试图生成数组是这样的:
@line_items.each do |i|
@foodio.each do |j|
@foodio[j] = i.product.user.email
end
end
但它给
undefined method `each' for nil:NilClass
由于foodio为零。
任何机构都可以帮忙吗?
感谢您的阅读!
UPDATE
我UserMailer型号:
class UserMailer < ActionMailer::Base
default :from => "[email protected]"
def welcome_email(user, order)
@user = user
@order = order
@line_items = @order.line_items
@foodio = @line_items.map do |line_item|
line_item.product.user.email
end
mail(:to => user.email, :cc => ["[email protected]", "#{foodio}"], :subject => "Order no. #{order.id}")
end
end
阶控制器:
def process_order
@order = current_order
@line_items = @order.line_items
if @line_items.size > 0
session[:order_id] = nil
UserMailer.welcome_email(current_user, @order).deliver
else
render :action => "cart"
end
end
我这样做在UserMailer模型。需要抄送电子邮件。在UserMailer模型中添加了用户解决方案,但对于order_controller,出现错误“未定义的方法编码”为#。在order_controller中,UserMailer.welcome_email(current_user,@order).deliver –
user2206724
2013-04-20 18:40:29
user2206724,能不能更新有关UserMailer/OrderController的其他细节的问题?具体来说,包括为#' –
gmile
2013-04-20 18:48:30
'添加UserMailer和订单控制器,它给出了错误 – user2206724 2013-04-20 19:05:21