【发布时间】: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