2011-08-30 28 views
1

我剛接觸sinatra和haml。我正在寫一個簡單的待辦事項應用程序。 在控制器中,我創建了待辦事項對象列表。每個待辦事項都有例如屬性「標題」和「優先級」。待辦事項清單是屈控制器的屬性(@todos = ..待辦事項對象列表)Sinatra Haml:訪問對象屬性

我可以訪問/使用

%ul 
    - @todos.each do |todo| 
      %li= todo .... 

等迭代待辦事項列表。

但我怎樣才能訪問我的待辦事項對象(「標題」,「優先」)的屬性? 那是什麼語法? 嘗試了幾個,但沒有找到合適的..

你能幫我嗎?

+1

這與Sinatra較少有關,並且更多地與您如何構建應用程序的其餘部分有關。你是否在與Sinatra一起使用ActiveRecord?需要更多信息來回答這個問題。 – theIV

回答

1

如果您使用的DataMapper(ActiveRecord的沒有什麼不同):

get '/' do 
    @todos = Todo.all 
    haml :todo 
end 

鑑於:

在控制器

%ul 
    [email protected] do |todo| 
    %li 
     =todo.title 
     %br 
     =todo.task 

所有的東西是對象並沒有什麼區別,你可以訪問它的屬性。 你可以做:

... 
-Todo.all.each do |todo| 
... 

但這不是好的方法。

+0

謝謝,作品:-)! – jibasig

+0

夥計,jibasig,如果它的工作,你真的應該給Zuzuka信用。 – allanberry

+0

請將此添加爲正確答案,因爲它節省了我的一天。 – 2012-11-16 16:58:08