Получение неопределенного метода `to_f 'с использованием геокодера для захвата ip_address - PullRequest
0 голосов
/ 30 декабря 2018

Я новичок в 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-адрес пользователей, когда они публикуют фотографию животного и отображают карту.Если у кого-то есть лучший способ реализовать это, пожалуйста, сообщите мне.

...