【发布时间】:2014-09-27 22:09:33
【问题描述】:
我在 Rails 中有一个房间预订项目。我在其中一个页面中遇到了问题,我在其中修复并推送了更改。解决这个问题后,我的主页,新的预订页面,出现了一个只发生在 Heroku 而不是 localhost 的错误。 (很抱歉,出了点问题。)
我看不到它声称的错误。为了解决这个问题,我将 Heroku 回滚到主页正在工作的状态,而我之前修复的页面不是:主页再次工作。然后,我将 Heroku 中的 git 克隆到我的本地机器并重新推送它,没有进行任何更改,但错误再次出现!我与 Heroku Bash 确认服务器上的文件实际上是我推送的。
非常感谢您的帮助!
Heroku 日志中的两个错误:
2014-09-27T21:53:41.455914+00:00 app[web.1]: ActionView::Template::Error (/app/app/views/reservations/new.html.erb:16: syntax error, unexpected keyword_do, expecting keyword_end
2014-09-27T21:53:41.455712+00:00 app[web.1]: /app/app/views/reservations/new.html.erb:28: syntax error, unexpected keyword_ensure, expecting end-of-input):
app/views/reservations/new.html.erb
<div class="row">
<div class="col-md-3"></div>
<div class="col-md-6">
<div class="panel panel-primary radius">
<div class="panel-heading">
<h1 class="panel-title text-center" id="reservations_title"><%= t "new_reservation.title" %>:
<span class="spinner"
style="display: none; position: relative; top:4px; left:<%= params[:locale]=="en" ? "2px;" : "4px;" %>"
id="titleSpinner">
</span>
</h1>
</div>
<div class="panel-body">
<div class="col-md-12">
<%= form_for ([@user, @reservation]), remote: true do |f| %>
<%= render(:partial => 'form_datetime', locals: { f: f }) %>
<%= render(:partial => 'shared/notifications', locals: { f: f }) %>
<%= render(:partial => 'form_rooms', locals: { f: f }) %>
<% end %>
</div>
</div>
</div>
</div>
</div>
<%= javascript_include_tag 'reservations' %>
form_datetime
<div class="form-group">
<span class="glyphicon glyphicon-calendar"></span>
<%= f.label(:res_date, t("new_reservation.date")) %>
<%= select_tag(:res_date, options_for_select(generate_reservation_dates(5),params[:res_date]),
:class => "form-control") %>
<span class="glyphicon glyphicon-time"></span>
<%= f.label(:res_time, t("new_reservation.time")) %>
<%= select_tag(:res_time, options_for_select(generate_reservation_time(),params[:res_time]),
:class => "form-control",
:prompt => t("new_reservation.time_prompt")) %>
</div>
form_rooms
<div id="room_container">
<div class="form-group">
<%= submit_tag "Show Rooms", :name => "show_rooms", :class => "btn btn-info radius btn-block", :id => "show_rooms" %>
</div>
<% if(!params[:res_date].blank? && !params[:res_time].blank?) %>
<div class="form-group">
<% rooms_arr = available_rooms_array(params[:res_date],params[:res_time]) %>
<% if rooms_arr.size == 0 %>
<div class="alert alert-warning radius">
<span class="glyphicon glyphicon-exclamation-sign"></span>
<%= t "new_reservation.no_rooms" %>
</div>
<% else %>
<% rooms_arr.each do |room| %>
<button value="<%= room.name %>"
name="room_name"
class="btn btn-primary radius btn-block">
<span class="spinner"
style="display: none; position: relative; top:5px; left:<%= params[:locale]=="en" ? "8px;" : "11px;" %>"
id="buttonSpinner<%= room.name %>">
</span>
<% if room.contains_grand_piano %>
<span class="glyphicon glyphicon-star-empty"></span>
<% end %>
<%= room.name %>
</button>
<% end %>
<% end %>
</div>
<% end %>
</div>
通知
<div class="form-group" id="notifications_container">
<% if !flash.now.blank? %>
<% if !flash[:notice].blank? %>
<div class="alert alert-success radius">
<span class="glyphicon glyphicon-ok-sign"></span>
<%= flash.now[:notice].html_safe %>
</div>
<% end %>
<% if !flash[:warning].blank? %>
<div class="alert alert-warning radius">
<span class="glyphicon glyphicon-exclamation-sign"></span>
<%= flash.now[:warning].html_safe %>
</div>
<% end %>
<% if !flash.now[:error].blank? %>
<div class="alert alert-danger radius">
<span class="glyphicon glyphicon-remove-sign"></span>
<%= flash.now[:error].html_safe %>
</div>
<% end %>
<% end %>
</div>
编辑: 我也尝试制作一个新的 Heroku 应用程序 - 这个应用程序也存在错误。我怎样才能弄清楚为什么在 Heroku 的某个回滚中它确实有效?
【问题讨论】:
标签: ruby-on-rails heroku localhost