我正在構建一個Rails應用程序,其中包含帶有標記的地圖(在應用程序中也稱爲「地塊」)。點擊標記/繪圖時,信息框出現在標記旁邊。我試圖添加一個功能,點擊信息框會在地圖旁邊呈現部分地圖,並提供與該特定地塊相關的更多詳細信息。谷歌地圖InfoBox在Rails應用程序中導致ActionController :: UnknownFormat錯誤
我正在使用Gmaps4Rails,並且上述功能在使用Google的標準Infowindows實施時效果很好,但如果我嘗試使用InfoBox插件,那麼我可以擁有InfoBoxes的所有樣式優勢,但出現錯誤。
的ActionController :: UnknownFormat
Screen grab of rails error message here
查看日誌它出現在請求被髮送正確的JS與信息窗口,但由於某種原因,使用信息框插件就被髮送時作爲HTML。與信息窗口
日誌消息是這樣的......
與資訊盒插件發起者PlotsController GET 「/圖/ 1/plotdetails」 爲:: 1,在2016年5月21日十三時50分02秒 +0100處理#plotdetails as JS參數:{「id」=>「1」}繪圖加載(0.3ms)選擇「繪圖」。* FROM「plots」WHERE 「plots」。「id」= $ 1 LIMIT 1 [[「 ,1]]渲染 地塊/ _plotdetails.html.erb渲染 地塊/ plotdetails.js.erb(4.0ms)(0.1毫秒)已完成的200 OK中17MS(查看: 14.4ms |的ActiveRecord:0.3ms的)
日誌消息是以下...
發起者PlotsController GET 「/繪圖/ 2/plotdetails」 爲:: 1在2016年5月17日18時52分38秒 0100處理#plotdetails as HTML參數:{「id」=>「2」}繪製加載(0.3ms)SELECT「plots」。* FROM「plots」WHERE 「plots」。「id」= $ 1 LIMIT 1 [[「 ,2]]已完成406在 3ms的(ActiveRecord的:0.3ms的)不接受
的ActionController :: UnknownFormat(ActionController的:: UnknownFormat):
應用程序/控制器/ plots_controller.rb:95:在`plotdetails'
我不能找到一個解決方案,因此正在考慮嘗試使用jQuery AJAX實現這個代替,但我不禁覺得這應該是可以解決的。任何想法將不勝感激。
的routes.rb
Rails.application.routes.draw do
resources :architects
resources :plots do
get :plotdetails, :on => :member
end
root 'plots#map'
plots_controller.rb(有在控制器更多的代碼,但這似乎是相關部分)
def plotdetails
@plot = Plot.find(params[:id])
respond_to do |format|
format.js { render :layout => false }
end
end
視圖/圖/ map.html.erb
<%= render 'partials/menu' %>
<div id="plotdetails"></div>
<div id="map"></div>
<script type="text/javascript">
buildMap(<%=raw @hash.to_json %>);
</script>
views/plots/_infobox。html.erb
<%= link_to plotdetails_plot_path(:id => plot.id), :remote => true do %>
<div id="infobox">
<div id="infobox-img">
<img src="<%= plot.img_link %>">
</div>
<div id="infobox-text">
<h3><%= plot.title %></h3>
<p>Architect: <%= plot.architect.name %></p>
<p><%= plot.address %></p>
</div>
</div>
<% end %>
視圖/曲線/ _plotdetails.html.erb
<div>
<ul>
<li>plot.title</li>
<li>plot.details</li>
</ul>
</div>
視圖/曲線/ plotdetails.js.erb
$("#plotdetails").html("<%= escape_javascript(render(:partial => "plotdetails", :locals => { :plot => @plot})) %>");
請求可能是發送爲HTML。檢查日誌。原因很可能是一個腳本錯誤,它阻止了Rails UJS處理程序攔截點擊。 – max
你在哪裏安裝信息框的點擊處理程序?你能將這些代碼添加到你的問題中嗎? –
你目前使用的導軌版本是? –