Получение неопределенного метода `to_f'с использованием геокодера для захвата ip_address

Я новичок в Rails и строю домен, который содержит Post класс где User можете опубликовать фото Animal и автоматический геотег будет связан с Post основанный на User IP-адрес и отображать карту Google (API). Основываясь на моем коде, я получаю эту ошибку при попытке создать Post:

NoMethodError (undefined method `to_f' for # 
<Geocoder::Result::IpinfoIo:0x007fba9fea7408>
Did you mean?  to_s):

Вот мой Post Модель:

class Post < ApplicationRecord


belongs_to :animal, required: false
belongs_to :user, required: false

geocoded_by :ip_address,
:latitude => :lat, :longitude => :lon
after_validation :geocode

has_one_attached :image



end

Мой контроллер:

class PostsController < ApplicationController
before_action :find_post, only: [:show, :edit, :update, :destroy]

def index
 @posts = Post.all
end


def show
end


def new
 @post = Post.new

end


def create

  @post = Post.create(post_params) do |u|
  u.ip_address = request.location
  byebug
end

redirect_to post_path(@post)
end


def edit
@place = Place.find(params[:id])
 end

def update
@post.update(post_params)


redirect_to post_path(@post)
end


def destroy
@post.delete(post_params)
redirect_to posts_path
end



private

def find_post
 @post = Post.find(params[:id])
end

 def post_params
 params.require(:post).permit(:title, :description, :ip_address)
 end

 end

Я признаю, что я взял этот метод из другой публикации ОС. Я пытался просто захватить IP-адрес пользователей, когда они публикуют фотографию животного и отображают карту. Если у кого-то есть лучший способ реализовать это, пожалуйста, сообщите мне.

0 ответов

Другие вопросы по тегам