【发布时间】:2018-03-07 16:13:36
【问题描述】:
我第一次在 Rails 中创建工作,以便在创建表单时向current_user 发送电子邮件。
创建方法
def create
@pdform = Pdform.new(pdform_params)
if user_signed_in?
@pdform.user_id = current_user.id
end
respond_to do |format|
if @pdform.save
SubmissionJob.perform_later(current_user, @pdform)
format.html { redirect_to new_pdform_requisition_path(@pdform) }
else
format.html { render :new }
end
end
end
我在作业参数中传递了current_user 和@pdform。
提交作业
class SubmissionJob < ApplicationJob
queue_as :default
def perform(*args)
@user = current_user
NewPdform.notify_user(@user, @pdform).deliver
end
end
如果我在参数的参数中传递current_user 对象并将其分配给@user 变量,怎么没有为current_user 定义的方法?
我有此检查将pdform 的user_id 设置为current_user id,并且在我创建表示有用户的表单时正在填充。那么为什么这会导致NameError?
【问题讨论】:
标签: ruby-on-rails rails-activejob