Ruby on rails Rails 3.2将参数从一个控制器动作传递到另一个控制器动作
我试图将参数Ruby on rails Rails 3.2将参数从一个控制器动作传递到另一个控制器动作,ruby-on-rails,Ruby On Rails,我试图将参数(useremail,costprojects)从一个控制器动作传递到另一个控制器动作 以下是控制器代码: def pdfemail costprojects = Costproject.find(params[:costproject_ids]) useremail = current_user.email CostprojectsController.delay.pdfemail2(params: { useremail: useremail, cost
(useremail,costprojects)
从一个控制器动作传递到另一个控制器动作
以下是控制器代码:
def pdfemail
costprojects = Costproject.find(params[:costproject_ids])
useremail = current_user.email
CostprojectsController.delay.pdfemail2(params: { useremail: useremail, costprojects: costprojects })
redirect_to :back
flash[:notice] = 'An Email containing a PDF has been sent to you!'
end
def self.pdfemail2
@useremail = params[:useremail]
@costprojects = params[:costprojects]
...
但是,我得到:
wrong number of arguments (1 for 0)
延迟项目显示:
object: !ruby/class 'CostprojectsController'
method_name: :pdfemail2
args:
- :params:
:useremail: somebody@gmail.com
:costprojects:
- !ruby/ActiveRecord:Costproject
attributes:
id: 8
...
谢谢你的帮助 如果要在重定向到其他操作时传递一些参数,请使用ActionController::Parameters:
def search
redirect_to :index, params: { query: params[:q] }
end
不,操作不是那样工作的,它们不应该直接调用。如果您需要发送电子邮件的逻辑,并且希望在后台运行它,则创建一个作业。