Ruby on rails 将content_标记与HAML一起使用
我很难弄清楚如何让Ruby on rails 将content_标记与HAML一起使用,ruby-on-rails,haml,content-tag,Ruby On Rails,Haml,Content Tag,我很难弄清楚如何让content\u-tag与HAML一起工作 如果没有哈姆,我会这样做: <%= content_tag "div", id: "instagrams", data: { instagrams: @instagrams } do %> <% end %> 我试过谷歌,但还是想不出来。有什么想法吗?我想你想要的是: #instagrams{ data: { instagrams: @instagrams.to_json } } 在HAML中,您不需要%
content\u-tag
与HAML一起工作
如果没有哈姆,我会这样做:
<%= content_tag "div", id: "instagrams", data: { instagrams: @instagrams } do %>
<% end %>
我试过谷歌,但还是想不出来。有什么想法吗?我想你想要的是:
#instagrams{ data: { instagrams: @instagrams.to_json } }
在HAML中,您不需要%div
(这是标记的默认值),因此您可以只放置id,并且仍然需要为数据属性定义数据:
,而不仅仅是HTML属性
此外,对于不是ruby代码执行的任何内容(如haml\u标记
或rails帮助程序(如form\u for
),您应该省略do
块部分。在HAML中,空格很重要,因此隐含嵌套块结构
您的
haml_标记
示例的问题可能是您使用了-
而不是=
。在HAML中,前者意味着执行不返回标记的ruby,而后者应该返回标记。嘿,Andrew,你的解决方案成功了。非常感谢!但是,我需要json中的它:#instagrams{data:{instagrams:@instagrams.to_json}}酷。是的,这取决于@instagrams
对象的实际情况。
#instagrams{ data: { instagrams: @instagrams.to_json } }