I'm running Rails 4.
I have a model called Challenge
, and in my database I'm storing the status
of each challenge in terms of 0-4.
But 0-4 isn't very semantic so I want to define a few variables (I'm assuming a constants) so that in any controller or view I can access the number by calling the constant:
# Challenge.rb
class Challenge < ActiveRecord::Base
SUGGESTED = 0
APPROVED = 1
OPEN = 2
VOTING = 3
CLOSED = 4
end
I want to access these in my view:
# challenge/_details.html.erb
<% if @challenge.status == CLOSED %>
Challenge is closed, broheim!
<% end %>
But my view doesn't want to render.
uninitialized constant ActionView::CompiledTemplates::CLOSED
What's the best way to set my status variables so that they may be accessed everywhere I need them? (i.e, anywhere the @challenge
variable is present)