HAML 的 JS 脚本中的内联变量
Inline Variables in JS Script for HAML
所以我刚才为 erb 写了这段代码
<% if @posting.pictures.blank? %>
<% else %>
<script>
$("#slider-posting").vegas({
slides: [
<%- @posting.pictures.each do |p| %>
{src: '<%=p.url%>'},
<%- end %>
],
transition: 'slideLeft'
});
</script>
<% end %>
我在将它转换为 HAML 时遇到了一些问题。
正在尝试根据 http://html2haml.herokuapp.com/
进行转换
- if @posting.pictures.blank?
- else
:javascript
$("#slider-posting").vegas({
slides: [
<haml_silent> @posting.pictures.each do |p|
</haml_silent><haml_block> {src: '#{p.url}'},
</haml_block> ],
transition: 'slideLeft'
});
导致以下错误
nil:NilClass
的未定义方法“url”
这条线
</haml_silent><haml_block> {src: '#{p.url}'},
您是否尝试过在 if 语句后省略 ?,它通常在您的代码中使用三元运算符时使用,因此请尝试省略该部分并重试。
试试这个
- if @posting.pictures.blank?
- else
:javascript
$("#slider-posting").vegas({
slides: [
#{
@posting.pictures.map { |p| "{src: '#{p.url}'}"}.join(',')
}
],
transition: 'slideLeft'
});
所以我刚才为 erb 写了这段代码
<% if @posting.pictures.blank? %>
<% else %>
<script>
$("#slider-posting").vegas({
slides: [
<%- @posting.pictures.each do |p| %>
{src: '<%=p.url%>'},
<%- end %>
],
transition: 'slideLeft'
});
</script>
<% end %>
我在将它转换为 HAML 时遇到了一些问题。
正在尝试根据 http://html2haml.herokuapp.com/
进行转换- if @posting.pictures.blank?
- else
:javascript
$("#slider-posting").vegas({
slides: [
<haml_silent> @posting.pictures.each do |p|
</haml_silent><haml_block> {src: '#{p.url}'},
</haml_block> ],
transition: 'slideLeft'
});
导致以下错误
nil:NilClass
的未定义方法“url”这条线
</haml_silent><haml_block> {src: '#{p.url}'},
您是否尝试过在 if 语句后省略 ?,它通常在您的代码中使用三元运算符时使用,因此请尝试省略该部分并重试。
试试这个
- if @posting.pictures.blank?
- else
:javascript
$("#slider-posting").vegas({
slides: [
#{
@posting.pictures.map { |p| "{src: '#{p.url}'}"}.join(',')
}
],
transition: 'slideLeft'
});