2012-03-23 69 views
3

這是爲什麼不HAML有效語法HAML語法問題

= form_tag(media_path(place_id: @place) , :multipart => true) do 
    = label_tag :image , "Place image" 
    = file_field_tag :image 
    = submit_tag "submit new comment" 

例外在線46:編譯錯誤 /.../show.html.haml:46:語法錯誤,意想不到的 ':',期待')' ... form_tag(media_path(place_id:@place),:multipart => true)... ^ 使用--trace進行回溯。 使用 - 跟蹤回溯。

+0

錯誤無關與HAML。它是純粹的紅寶石。 – 2012-07-05 16:15:34

回答

2

嘗試:place_id => @ place.id 錯誤可能是也,如果您使用@place @代替place.id

+0

或使用:place => @place – gayavat 2012-04-23 10:33:52

1

首先是檢查地方的對象,並將其糾正爲類似

= form_tag(media_path(:place_id => @place) , :multipart => true) do

Refrence像代碼

= form_tag(:url => media_path(:object_id =>@object),:html => {:class=> "form"}) do

1

Actaully b其他人沒有注意到你正在使用ruby 1.9.2哈希語法和舊的1.8.7語法風格。我假設你正在試圖在1.8.7上運行這個應用程序,這就是爲什麼它會給你編譯錯誤。如果你使用ruby-1.9.2,你不會得到那個編譯錯誤。在ruby-1.9.2中,您可以聲明您使用JavaScript json樣式進行哈希處理。即{用戶名: '約翰'}

因此,無論您使用的紅寶石1.9.2或改變(place_id:@place)至(:place_id => @place)