【问题标题】:RoR - Workflow and NamespacesRoR - 工作流和命名空间
【发布时间】:2011-11-03 21:28:14
【问题描述】:

我在 Ruby on Rails 应用程序中使用 Workflow。在我开始将控制器移动到命名空间之前,一切正常。

现在,当我尝试在模型上调用事件时收到“未知操作”错误。

未知操作

找不到操作“print_contract” 实习生::TenancyController

Controller 的第一行如下所示:

class Intern::TenanciesController < Intern::ApplicationController

它位于 app/controllers/intern/tenancies_controller.rb

使用 Workflow 的模型如下所示:

class Tenancy < ActiveRecord::Base
  include Workflow
  workflow_column :state_id

  workflow do
    state :reserved do
      event :print_contract, :transitions_to => :warranted
    end
    state :warranted do
      event :sign, :transitions_to => :signed
    end
    state :signed do
      event :charge, :transitions_to => :charged
    end
    state :charged do
      event :admonish, :transitions_to => :inquiry
      event :demolished_stuff, :transitions_to => :inquiry
      event :pay, :transitions_to => :paid
    end
    state :inquiry do
      event :pay, :transitions_to => :paid
    end
    state :paid
  end

...
end

路线是

  namespace :intern do
    resources :tenancies do
      member do
        get 'print_contract'
        get 'sign_contract'
        get 'charge'
        get 'pay'
      end
    end
  end

我在任何地方都找不到关于将 Workflow 与命名空间一起使用的任何信息。甚至可能吗?如果是这样,我有什么遗漏的吗?

【问题讨论】:

  • 提供更多详细信息:控制器目录、控制器的第一行、正在使用的路由

标签: ruby-on-rails ruby-on-rails-3 namespaces workflow


【解决方案1】:

原来我仍然需要在 TenanciesController 中定义相应的操作。不知道是什么让我认为 Workflow 会神奇地做到这一点。

【讨论】:

    猜你喜欢
    • 2013-02-22
    • 2023-03-05
    • 2021-12-27
    • 2016-03-13
    • 1970-01-01
    • 1970-01-01
    • 2010-10-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多