Использование API карт Google и рельсов 3.2.1 У меня есть страница, позволяющая перемещать маркер бизнеса на карте, чтобы исправить ее положение. Бизнес-модель имеет широту и долготу (среди прочих). Соответствующая часть:
<%= form_for :business, :url => { :action => "updatemap" }, :id => 'updatebutton' do |f| %>
<%= f.hidden_field :latitude %>
<%= f.hidden_field :longitude %>
<br />
<%= f.submit "Save" %>
<% end %>
Карта обновления метода:
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
При запуске отладчика параметры ([: business] [: широта]) и параметры ([: бизнес] [: долгота]) дают правильное значение новых координат карты (например, «45.273739» для широты). Но есть ошибка:
Ошибка типа в BuseriesController # updatemap
не может преобразовать символ в целое число
(строка ошибки - это строка @ business.latitude = params ([: business] [: latitude]))
Я тоже пробовал с
...
if @business.update_attributes(params[:business])
...
но ошибка та же. Что вызывает ошибку и как я могу ее исправить?