2
使用google maps API和rails 3.2.1我有頁面允許將商業標記移動到地圖上以更正它的位置。商業模式有經度和緯度(等等)。相關部分是:Rails錯誤:無法將符號轉換爲整數
<%= form_for :business, :url => { :action => "updatemap" }, :id => 'updatebutton' do |f| %>
<%= f.hidden_field :latitude %>
<%= f.hidden_field :longitude %>
<br />
<%= f.submit "Save" %>
<% end %>
方法updatemap是:
def updatemap
@business = Business.find(params[:id])
@business.latitude = params([:business][:latitude])
@business.longitude = params([:business][:longitude])
if @business.save!
redirect_to business_path(@business), :flash => { :success => "The business was updated!" }
else
render 'changemap', :flash => { :error => "An error occured." }
end
end
運行調試器,則params([:業務] [:緯度])而params([:業務] [:經度] )給出新地圖座標的正確值(例如,緯度爲「45.273739」)。但有一個錯誤:
類型錯誤在BusinessesController#updatemap 不能轉換成符號整數 (錯誤的線是@ business.latitude =參數([:業務] [:緯度])線路)
我也試圖與
...
if @business.update_attributes(params[:business])
...
但錯誤是一樣的。導致錯誤的原因是什麼?如何糾正錯誤?
不幸的是有同樣的錯誤。這裏是PARAMS哈希信息: – user929062 2012-03-01 14:24:25
{ 「UTF-8」=> 「✓」, 「authenticity_token」=> 「Vc9QPHBQjnftzfzutfNpOyftX + eDVoFjUSzVs9M =」, 「業務」=> { 「緯度」=> 「44.976565607846」, 「經度」=> 「8.89413124999999」}, 「提交」=> 「保存」, 「ID」=> 「1」} – user929062 2012-03-01 14:25:20
順便說一句:還to_s.to_f或只是.to_f給了我同樣的錯誤消息。 – user929062 2012-03-01 14:28:12