Html 如何使用rails获取并保存到db用户IP?

Html 如何使用rails获取并保存到db用户IP?,html,ruby-on-rails,ruby-on-rails-4,Html,Ruby On Rails,Ruby On Rails 4,我需要保存用户的ip,但不知道如何使它 我的控制器看起来像这样 class CadastroController < ApplicationController def create valores = params.require(:cadastro).permit! cad = Cadastro.create valores end end class-CadastroController

我需要保存用户的ip,但不知道如何使它

我的控制器看起来像这样

class CadastroController < ApplicationController
 def create
    valores = params.require(:cadastro).permit!
    cad = Cadastro.create valores
 end
end
class-CadastroController
我的表格是这样的

<%= form_for Cadastro.new do |f| %>
  <fieldset>
    <input id="nome" name="cadastro[nome]" type="text" placeholder="Nome" class="form-control input-md" required="">    
    <input id="email" name="cadastro[email]" type="text" placeholder="E-mail" class="form-control input-md" required="">
    <input id="telefone" name="cadastro[telefone]" type="text" placeholder="Telefone" class="form-control input-md">
    <input id="cidade" name="cadastro[cidade]" type="text" placeholder="Cidade" class="form-control input-md">
    <button id="download" name="download" class="btn btn-default" type="submit">Donwload</button>
  </fieldset>
<% end %>

多纳

有人能帮忙吗?

请求。远程ip将为您提供用户ip

您的
CadastroController
可以如下所示:

class CadastroController < ApplicationController
  def create
    valores = params.require(:cadastro).permit!
    cad = Cadastro.create valores.merge(user_ip: request_ip) #user_ip is the column name
  end

 private
  def request_ip
    request.remote_ip == "127.0.0.1" ? "127.0.0.1" : request.remote_ip
  end
end
class-CadastroController
我正试图将其保存到数据库中的字符串中,但它只写了一句话:“1”,你猜得到了吗?这是一个IPv6环回地址(localhost)。@AndréSasaki。我想你是在满足当地人的要求。这就是为什么你会得到一个ipv6格式的本地地址,它是
::1
朋友们很抱歉我的无知,但是有没有办法将其转换为IPv4?@AndréSasaki我已经更新了答案。看一看!