При отправке моей формы с сообщением об ошибке она будет отображаться как new.html.erb (render render: "new") после загрузки новой страницы с ошибкой, поле multidatepicker в скрипте не может быть загружено в то же время, когда маршрут отображается как индексpage.
На новой странице средство выбора даты class = "pick hasDatepicker".
маршруты localhost:3000/leaves/new
(новая страница)
после отображения новой страницы в действии создания с сообщением об ошибке,
datepicker class = "pick"
.маршруты localhost:3000/leaves
(страница индекса)
Что я могу сделать для этого? ...
leavescontroller.rb
def create # Create a new record in the Leave table
@leave = current_user.leaves.create leave_params
# @leave.user_id = session[:user_id]
@leave_dates = params[:datePick].split(',')
@leave.start_date = @leave_dates.first
@leave.end_date = @leave_dates.last
respond_to do |format|
if @leave.save
..//conditions
else
format.html { render action: "new" }
format.json { render json: @leave.errors, status: :unprocessable_entity }
end
end
new.html.rb
<%= render :partial => 'layouts/datepicker'%>
<script>
$(function() {
$('#datePick').multiDatesPicker({
beforeShowDay: function(date) {
var day = date.getDay();
return [day != 0 && day != 6];
}, // For disabling all "Sundays"
dateFormat : "d/m/yy",
maxDate : "+3m",
minDate : "0m",
multidate : true,
addDisabledDates : <%= raw @holidays %>
});
});
</script>
<body >
<div id="newentryrow">
<div id="newentrytext">
<label>Select Dates :</label>
</div>
<div id="newentryfield" >
<%= text_field_tag 'datePick', nil, placeholder: 'Select dates' ,class: 'pick', autoComplete: "off", :readonly => true %><br />
<label>Select multiple dates if you want to apply more than one day leave…</label>
</div>
</div>