为什么这不是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进行回溯。 使用--trace进行回溯。
答案 0 :(得分:2)
尝试:place_id => @ place.id 如果您使用@place代替@ place.id
,也可能出错答案 1 :(得分:1)
首先检查地点的对象并将其更正为
= form_tag(media_path(:place_id => @place) , :multipart => true) do
像代码一样参考
= form_tag(:url => media_path(:object_id =>@object),:html => {:class=> "form"} ) do
答案 2 :(得分:1)
实际上两者都没有注意到你使用ruby 1.9.2哈希语法和旧的1.8.7语法风格。我假设您正在尝试使用此表单与1.8.7上运行的应用程序,这就是为什么它给你编译错误。如果使用ruby-1.9.2,则不会出现编译错误。在ruby-1.9.2中,您可以使用Javascript json样式声明哈希值。即{用户名:'John'}
所以要么使用ruby-1.9.2,要么将(place_id:@place)更改为(:place_id => @place)