Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6180043
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 24, 20262026-05-24T00:46:38+00:00 2026-05-24T00:46:38+00:00

I am using Aaron Pfeifer’s state_machine gem in my Rails3 app — it’s (still)

  • 0

I am using Aaron Pfeifer’s state_machine gem in my Rails3 app — it’s (still) nifty.

I have a event whose outcome isn’t known until it has been processed, and I would like to set the following state based on the outcome. The ‘obvious’ approach shown here doesn’t work: it raises an ArgumentError: :picked_many is not a known state value error.

What’s the right way to set the state based on the outcome of an event? (Or am I just thinking about this wrong?)

class MyModel < ActiveRecord::Base 
  state_machine :initial => :top do 
    event :pickanumber do
      transition any => any
    end 
    state :picked_zero 
    state :picked_one 
    state :picked_many 
  end 
  def pickanumber(n) 
    self.state = case n 
                 when 0 then :picked_zero 
                 when 1 then :picked_one 
                 else :picked_many 
                 end 
    super
  end 
end 

and a sample run:

> m = MyModel.create 
=> #<MyModel id: 26, state: "top", ...>
> m.pickanumber(2) 
ArgumentError: :picked_many is not a known state value
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-24T00:46:38+00:00Added an answer on May 24, 2026 at 12:46 am

    State is internally stored as a string and not symbol.

    This should work…

    def pickanumber(n)
        self.state = case n
                     when 0 then "picked_zero"
                     when 1 then "picked_one"
                     else "picked_many"
                     end
        super
    end
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have tried using #include<hash_map> and #include <hash_set> and I still get the same
I'm using expandable plugin by Brandon Aaron to auto grow my textareas in the
I have a question regarding using KVO-compliant methods to insert/remove objects from an array.
I'm using Python and PIL. I have images in RGB and I would like
I recently followed Aaron Powell's posts on supporting MVC controllers with Umbraco 4: http://www.aaron-powell.com/umbraco/using-mvc-in-umbraco-4
Using ColdFusion 9.01, occasionally, we have observed an issue where an error may be
I have this method that I want to run a php file using ajax
Using a CSS image sprite, I'm creating an 'interactive' image where hovering over certain
Using a populated Table Type as the source for a TSQL-Merge. I want to
using this http://bl.ocks.org/950642 we can see how to add images to nodes, the question

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.