所以,我的一个观点中有一些冗余代码:
- unless @event.start_time.nil?
:javascript
$(function() {
$('#datetimepicker1').datetimepicker({
format: 'dddd, MMMM Do, YYYY, h:mm a'
});
$('#datetimepicker1').data("DateTimePicker").date("#{@event.datepicker}");
});
- else
:javascript
$(function() {
$('#datetimepicker1').datetimepicker({
format: 'dddd, MMMM Do, YYYY, h:mm a'
});
});
基本上,我在我的某个字段中使用datetimepicker,如果模型具有该字段的值,则会附加该字段。如果我可以做这样的事情会更清洁:
:javascript
$(function() {
$('#datetimepicker1').datetimepicker({
format: 'dddd, MMMM Do, YYYY, h:mm a'
});
- unless @event.start_time.nil?
$('#datetimepicker1').data("DateTimePicker").date("#{@event.datepicker}");
});
有什么想法吗?
答案 0 :(得分:0)
为什么不使用Ruby / HAML设置变量并在JS中处理条件?
:javascript
$(function() {
$('#datetimepicker1').datetimepicker({
format: 'dddd, MMMM Do, YYYY, h:mm a'
});
var event_start_time_present = #{@event.start_time.present?};
if (event_start_time_present) {
$('#datetimepicker1').data("DateTimePicker").date("#{@event.datepicker}");
}
});
答案 1 :(得分:0)
我们可以嵌入一个ruby代码来检查条件unless @event.start_time.nil?
,所以代码将是:
:javascript
$(function() {
$('#datetimepicker1').datetimepicker({
format: 'dddd, MMMM Do, YYYY, h:mm a'
});
var validStartTime = "#{@event.start_time.present?}";
if (validStartTime === 'true') {
$('#datetimepicker1').data("DateTimePicker").date("#{@event.datepicker}");
}
});