我尝试在我的Rails项目中使用clndr.js,因此使用unslider-template。此模板包含“< %%>” <%=%>“标记并抛出错误,因为模板变量未发现。
关于我如何防止rails执行“< %%>” - 标签的任何想法?
这是我的观点代码:
<div id="mini-clndr"></div>
<script id="calendar-template" type="text/template">
<div class="controls">
<div class="clndr-previous-button">‹</div><div class="month"><%%= month %></div><div class="clndr-next-button">›</div>
</div>
<div class="days-container">
<div class="days">
<div class="headers">
<% _.each(daysOfTheWeek, function(day) { %><div class="day-header"><%%= day %></div><% }); %>
</div>
<% _.each(days, function(day) { %><div class="<%= day.classes %>" id="<%= day.id %>"><%%= day.day %></div><% }); %>
</div>
</div>
</script>
<% content_for(:scripts) do %>
<script type="text/javascript">
var currentMonth = moment().format('YYYY-MM');
var nextMonth = moment().add('month', 1).format('YYYY-MM');
var events = [
{ date: currentMonth + '-' + '10', title: 'Persian Kitten Auction', location: 'Center for Beautiful Cats' },
{ date: currentMonth + '-' + '19', title: 'Cat Frisbee', location: 'Jefferson Park' },
{ date: currentMonth + '-' + '23', title: 'Kitten Demonstration', location: 'Center for Beautiful Cats' },
{ date: nextMonth + '-' + '07', title: 'Small Cat Photo Session', location: 'Center for Cat Photography' }
];
$('#mini-clndr').clndr({
template: $('#calendar-template').html(),
events: events,
clickEvents: {
click: function(target) {
if(target.events.length) {
var daysContainer = $('#mini-clndr').find('.days-container');
daysContainer.toggleClass('show-events', true);
$('#mini-clndr').find('.x-button').click( function() {
daysContainer.toggleClass('show-events', false);
});
}
}
},
adjacentDaysChangeMonth: true
});
</script>
<% end %>
答案 0 :(得分:3)
使用gulp watch
。注意开头的双<%%= your-ruby-code %>
,但不是标签的末尾。
答案 1 :(得分:0)
最好的方法之一是将erb转换为haml。
在Gemfile中添加gem 'haml'
并捆绑安装。
在http://htmltohaml.com/中添加您的erb代码
并将转换后的haml代码复制到您的文件中,并将其重命名为yourfilename.html.haml。
它有效..