[ActionFlow-User] help: actionflow didn't work for me,T_T

ActionFlow users list actionflow-user at rubyforge.org
Sun Jun 10 22:12:44 EDT 2007


Sorry for the late answer pal, all the list messages got into my spam  
inbox. It should be fixed now.

1. Update the plugin to the latest version.
2. Put all your mapping instructions in the controller's 'initialize'  
public method. This is a standard Ruby object method which gets  
called upon the instanciation of the object. This will NOT create a  
corresponding URL, so don't worry about it. rails is smart enough to  
know that.

Then, you don't call the sell action. You just call the index action  
and the flow will route all relevant traffic according to your flow  
state.

ie :

class SellController < ActionFlow::Base

   def initialize
     # Your mapping here
   end

   def something
     # Step implementation here.
   end

end


Again, sorry for the awfully long delay.


__________________________________________________

hi everybody,
i just tried the actionflow plugin but it didn't work for me. i
installed the plugin through:

script/plugin install svn://rubyforge.org/var/svn/actionflow/trunk/ 
action_flow

(the attachment is a screenshot of the installed folders),

for next, i pasted the demo controller code on the wiki into my
controller and change the controller'name to 'Sell', here is the code:

============

class SellController < ActionFlow::Base
start_step :init

end_step :quit

view_step :init do
on :next => :second_step_init
end

action_step :second_step_init do
on :next => :second_step
upon 'ActionFlow::ActionFlowError' => :init
end

view_step :second_step do
on :next => :quit
end

view_step :quit do
end

def init
state[:status] = 'Woohoo, I just inited'
render :action => :init
event :render
end

def second_step
state[:status] = "I'm displaying the second step..."
state[:just_to_remember] = 'I got through !!'
render :action => :second_step
event :render
end

def second_step_init
state[:status] = "I'm initializing the second step..."
if rand(2) == 0
event :next
else
raise ActionFlow::ActionFlowError
end
end
end
=============

next,i started the server, and type the address
http://localhost:3000/sell/. and then i got the error:

=======

NoMethodError in SellController#show

undefined method `start_step' for SellController:Class

RAILS_ROOT: script/../config/..
Application Trace | Framework Trace | Full Trace

app/controllers/sell_controller.rb:2
-e:4:in `load'
-e:4

/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
dependencies.rb:203:in
`load_without_new_constant_marking'
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
dependencies.rb:203:in
`load_file'
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
dependencies.rb:342:in
`new_constants_in'
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
dependencies.rb:202:in
`load_file'
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
dependencies.rb:94:in
`require_or_load'
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
dependencies.rb:248:in
`load_missing_constant'
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
dependencies.rb:452:in
`const_missing'
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
dependencies.rb:464:in
`const_missing'
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
inflector.rb:250:in
`constantize'
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
core_ext/string/inflections.rb:148:in
`constantize'
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/ 
routing.rb:1284:in
`recognize'
/usr/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/dispatcher.rb:40:in  
`dispatch'
/usr/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/webrick_server.rb:113:in
`handle_dispatch'
/usr/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/webrick_server.rb:79:in
`service'
/usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
/usr/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
/usr/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
/usr/lib/ruby/1.8/webrick/server.rb:162:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
/usr/lib/ruby/1.8/webrick/server.rb:95:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:92:in `each'
/usr/lib/ruby/1.8/webrick/server.rb:92:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:23:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:82:in `start'
/usr/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/webrick_server.rb:63:in
`dispatch'
/usr/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/commands/servers/ 
webrick.rb:59
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in
`gem_original_require'
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
dependencies.rb:495:in
`require'
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
dependencies.rb:342:in
`new_constants_in'
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
dependencies.rb:495:in
`require'
/usr/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/commands/server.rb:39
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in
`gem_original_require'
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
script/server:3

app/controllers/sell_controller.rb:2
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
dependencies.rb:203:in
`load_without_new_constant_marking'
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
dependencies.rb:203:in
`load_file'
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
dependencies.rb:342:in
`new_constants_in'
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
dependencies.rb:202:in
`load_file'
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
dependencies.rb:94:in
`require_or_load'
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
dependencies.rb:248:in
`load_missing_constant'
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
dependencies.rb:452:in
`const_missing'
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
dependencies.rb:464:in
`const_missing'
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
inflector.rb:250:in
`constantize'
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
core_ext/string/inflections.rb:148:in
`constantize'
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_controller/ 
routing.rb:1284:in
`recognize'
/usr/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/dispatcher.rb:40:in  
`dispatch'
/usr/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/webrick_server.rb:113:in
`handle_dispatch'
/usr/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/webrick_server.rb:79:in
`service'
/usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
/usr/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
/usr/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
/usr/lib/ruby/1.8/webrick/server.rb:162:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
/usr/lib/ruby/1.8/webrick/server.rb:95:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:92:in `each'
/usr/lib/ruby/1.8/webrick/server.rb:92:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:23:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:82:in `start'
/usr/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/webrick_server.rb:63:in
`dispatch'
/usr/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/commands/servers/ 
webrick.rb:59
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in
`gem_original_require'
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
dependencies.rb:495:in
`require'
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
dependencies.rb:342:in
`new_constants_in'
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/ 
dependencies.rb:495:in
`require'
/usr/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/commands/server.rb:39
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in
`gem_original_require'
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
script/server:3
-e:4:in `load'
-e:4


========

this is the problem... is this version not stable or i missed something?

thx for your help!


More information about the ActionFlow-User mailing list