Html 如何使用rails获取并保存到db用户IP?
我需要保存用户的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
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我已经更新了答案。看一看!