我是RAILS开发的新手,并且很难让这个表单起作用。
我正在尝试建立一个也会询问用户地址的注册页面。
我想做的是,在用户输入其邮政编码后,该页面将根据输入的邮政编码在网络服务上发出请求,并填写其他地址信息,如街道,城市,州,让生活更轻松让用户继续填写其他表单字段。
我已经有了webservice工作,现在我需要的是在用户通知zipcode而不离开页面后填写表单 - 用户完成填写表单与其他信息的重要性。
这是表格的一个例子:
<table class="table table-bordered table-striped">
<tr>
<td class="cep-index">
<%= form_tag controller: "ceps", action: "search", id: "cepform", remote: true do %>
<%= label_tag(:cep, "Informe o CEP:") %>
<%= text_field_tag(:cep, "91760040") %>
<%= submit_tag("Localizar", class: "btn") %>
<% end %>
</td>
</tr>
</table>
<table class="table table-bordered table-striped">
<tr>
<td>Bairro:</td>
<td><%= text_field_tag(:end_bairro, @endereco.bairro) %></td>
</tr>
<tr>
<td>Cidade:</td>
<td><%= text_field_tag(:end_cidade, @endereco.cidade) %></td>
</tr>
<tr>
<td>UF:</td>
<td><%= text_field_tag(:end_uf, @endereco.uf) %></td>
</tr>
<tr>
<td>Endereço:</td>
<td><%= text_field_tag(:end_endereco, @endereco.rua) %></td>
</tr>
这是控制器:
class CepsController < ApplicationController
def search
require 'correios-frete'
require 'correios-cep'
frete = Correios::Frete::Calculador.new :cep_origem => "23970-000",
:cep_destino => params[:cep],
:peso => 0.3,
:comprimento => 30,
:largura => 15,
:altura => 2
servicos = frete.calcular :sedex, :pac
@pac = servicos[:pac].valor
@sedex = servicos[:sedex].valor
address = Correios::CEP::AddressFinder.get params[:cep]
@endereco = Cep.new
@endereco.rua = address[:address]
@endereco.uf = address[:state]
@endereco.bairro = address[:neighborhood]
@endereco.cidade = address[:city]
render "index"
end
任何帮助都会非常感激。
提前致谢。
BR, 圣拉斐尔