如何在Rails的HAML文件中创建关联Movie的Comment表单?
把关联Movie的Comment表单转成HAML写法
别担心,刚接触HAML有疑问太正常啦!我来帮你把你熟悉的ERB表单转换成对应的HAML版本~
首先,HAML的核心是缩进代替闭合标签/end,不用写<% %>这类ERB标签,直接用=来输出Ruby代码的结果。
你原来的ERB代码(我帮你补全了f.submit的小疏漏):
<%= form_for([@movie, @movie.comments.new]) do |f| %> <%= f.text_area :text, class: "form-control" %> <%= f.submit "发表评论", class: "btn btn-primary" %> <% end %>
对应的HAML写法是这样的:
= form_for [@movie, @movie.comments.new] do |f| = f.text_area :text, class: "form-control" = f.submit "发表评论", class: "btn btn-primary"
几个小细节说明:
- HAML里不需要写
do...end的end,只要保持代码块内部的内容比form_for那行多缩进一级(通常是2个空格)就可以了 - 所有需要输出到页面的Ruby代码(比如表单辅助方法、表单控件)前面加
= - 哈希参数(比如
class: "form-control")的写法和Ruby一致,不用额外修改 f.submit的文本你可以根据需求随便改,比如改成"提交评论"也完全没问题
内容的提问来源于stack exchange,提问作者jedi
相关产品推荐
相关产品推荐

