2011-10-04 3 views
2

다음과 같은 모델이 있다고 해봅시다.가능한 시누 라보기에서 가능한 열거 기호를 나열하는 방법?

class Animal 
    include DataMapper::Resource 
    property :id, Serial 
    property :type, Enum[ :cat, :bat, :rabbit, :zebra] 
end 

더 많은 동물을 추가하기위한 erb 템플릿을 가리키는 경로가 있다고 가정하면 & @animal = session[:animal] 어떻게 동물 유형 목록을 만들 수 있습니까?

... 
<form> 
    <% @animal.type.each do |animal| %> 
    <select> 
     <option value="<%= @animal.type" %></option> 
    </select> 
    <% end %> 
</form> 

(당연히 그 코드의 비트는 내가 찾고있는 것을하지 않지만 조금 더 명확하게하기를 바랍니다.)

답변

3

이 부동산에 플래그 옵션이 당신을 열거 형 값을 조회하는 데 사용할 수 있습니다. 나는 이것이 어디에 기록되어 있는지 모른다 - 나는 그것을 here이라고 발견했다. 그래서 다음과 같이 할 수 있습니다 :

<form> 
    <select> 
    <% Animal.type.options[:flags].each do |animal| %> 
     <option value="<%= animal %>"><%= animal %></option> 
    <% end %> 
    </select> 
</form> 

나는 이것을 도우미 방법으로 일반화 할 수 있다고 생각합니다.

+0

오 아름다운 사람이에요! _ 정확히 내가 무엇을 찾고 있었습니까. 이상한 점은 이것이 더 잘 설명되어 있지 않다는 것입니다. 나는 이것을 도우미 방법으로 만드는 방법을 얻지는 못한다 ... –

+0

당신이보기를 깨끗하고 단순하게 유지하는 데 도움이된다면 이것을 도우미 방법으로 만들 가치가있다. 특히이 패턴을 다음과 같이 사용할 것이다. 한 곳 이상. Sinatra에는 레일과 같은 내장 뷰 헬퍼가 전부 포함되어 있지는 않지만 간단하게 작성할 수 있습니다. http://www.sinatrarb.com/faq.html#helpview – Steve

관련 문제