2010-11-29 67 views
1

J'ai un modèle comme celui-ci:DataMapper mise à jour valeur ENUM par la forme

class Project 
    include DataMapper::Resource 
    property :id, Serial 
    property :title, String 
    property :slug, String 
    property :status, Enum[:open, :closed ], :default => :open 
    has n, :issues 
end 

J'ai créé en vue de mettre à jour l'état du projet:

<form action="/project/update" method="post" id="project"> 
     <label for="status">Status 
      <select id="status"> 
       <option value="0" 
       <% if(@project.status == :open) %> 
        selected="selected" 
       <% end %> 
       >Open</option> 
       <option value="1" 
       <% if(@project.status == :closed) %> 
        selected="selected" 
       <% end %> 
       >Closed</option> 
      </select> 
     </label> 
    </form> 

Voici l'itinéraire:

post '/project/update' do 
      @project = Project.get(params[:project_id]) 
      @project.update(:title => params[:title]) 
    end 

Quelles sont les valeurs que le formulaire doit transmettre à l'itinéraire pour mettre à jour l'état? et à quoi devrait ressembler l'itinéraire dans ce cas?

Merci,

Répondre

2

« ouvert » et « fermé » - ils seront convertis en symboles automatiquement.