간단한 룸 관리 서비스를 만들고 싶습니다. 상자를 선택하면DataMapper 및 Sinatra와 함께 확인란을 사용하려면 어떻게해야합니까?
다음class Room
include DataMapper::Resource
validates_is_unique :number
property :id, Serial
property :number, Integer
property :guest, String
property :status, Enum[ :free, :occupied ], :default => :free
end
내가이 HAML 양식
%form#new_message{:action => '/new', :method => 'post'}
%p
%input{:type => "text", :id => "number", :name => "number"}
%input{:type => "text", :id => "guest", :name => "guest"}
%input{:type => "checkbox", :id => "status", :name => "status", :value => "occupied"}
%input{:type => "submit", :value => "post"}
통해이
post '/new' do
content_type :json
@room = Room.new :guest => params[:guest],
:number => params[:number],
:status => params[:status]
if @room.save
{ :number => @room.number, :guest => @room.guest, :status => @room.status }.to_json
end
end
같은 새로운 방을 만들 : 상태가 "점유 객실은 이러한 속성을 가지고 "하지만 내가 체크하지 않은 상태로두면 대상이 저장되지 않습니다. 나는 그것이 "자유롭게"기본값으로 설정 되었기 때문에 작동 할 것이라고 생각했지만 아무 것도 ...
아 그 이유 ... 잘 작동합니다. 시원한. 고맙습니다. 나는 그것을 부울로 만드는 것에 대해 생각하고 있었지만 room.status (available/occupied)를 room.free (true/false)보다 호출하고 싶습니다. – schwift