【问题标题】:rails rake access applications controller methodrails rake 访问应用程序控制器方法
【发布时间】:2015-09-17 13:42:39
【问题描述】:

我有一个 Rails 3 rake 任务,我想在应用程序控制器中执行一个方法。

应用程序控制器:

class ApplicationController < ActionController::Base
  def jobplan_to_workorder(jobplan,woschedule)
    ...
  end
  helper_method :jobplan_to_workorder
...

1) lib/tasks/schedular.task :

...
jobplan_to_workorder(jobplan.id,@woschedule.id)
...

我得到:main:Object 的未定义方法 `jobplan_to_workorder'

2) lib/tasks/schedular.task :

...
ApplicationController.jobplan_to_workorder(jobplan.id,@woschedule.id)
...

我得到:ApplicationController:Class 的未定义方法 `jobplan_to_workorder'

感谢您的帮助!

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    你的逻辑很糟糕。在 rake 任务中,您应该执行一些业务逻辑操作。它不应该取决于您查看上下文。

    但如果你想这样做,你可以这样做:

    controller = ApplicationController.new
    controller.jobplan_to_workorder(jobplan.id, @woschedule.id)
    

    【讨论】:

    • 谢谢。我在视图中使用相同的代码——它是一个执行它的按钮。我不想复制代码。
    猜你喜欢
    • 2021-06-02
    • 2018-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多