= form_for(:subject, :url => {:action => "create"}) do |f|
= render :partial => "form", :locals => {:f => f}
#form_buttons= submit_tag "Create Subject"
注意到form_for有一个“do”,所以它需要一个“结束”,但是HAML如何知道在哪里结束“结束”?
对不起我的英语,希望你能理解我在说什么!
答案 0 :(得分:4)
HAML使用缩进来以与Python语言相同的方式分隔块。或许您应该阅读基本的tutorial或WIKI以获取更多信息。
= form_for(:subject, :url => {:action => "create"}) do |f|
= render :partial => "form", :locals => {:f => f}
#you can use f here
# you can't use f here
答案 1 :(得分:2)
HAML对块结构使用缩进 更简单地说,当代码实际上“outdents”时,它是一个隐含的结尾(对于html标签或者ruby do-end块)。 那么在html / ruby中会是什么
...
loop1
loop2
code_for_loop2
end # of loop2
end # of loop1
...
in haml becomes
...
loop1
loop2
code for loop2
...
P.S。也缩进2,空格不是制表符。