如何使用Google地图和jt-rails-address为用户添加地址?

时间:2018-05-29 12:57:53

标签: ruby-on-rails ruby google-maps ruby-on-rails-3 ruby-on-rails-5

我是铁杆上的新人。我在一个项目上工作,我尝试为我的用户添加物理地址。我希望地址可以帮助完成Google地图以供日后使用。我发现jt-rails-address对我的项目来说看起来很完美。但我无法实现它。我需要完整的地址(街道,邮政编码,城市和国家)。

add_address_to_users.rb:

class AddAddressToUsers < ActiveRecord::Migration[5.1]
 def change
  add_column :users, :address, :address
 end
end

表单edit.html.erb:

<div class="col-md-6 col-md-offset-3">
  <%= form_for (@user), :html => { :multipart => true } do |f| %>
  <%= render 'shared/error_messages' %>

  <%= f.label :phone, "Téléphone :" %>
  <%= f.phone_field :phone, class: 'form-control' %>

  <%= f.label :address, "Addresse :" %>
  <div class="jt-address-autocomplete">
    <!-- This field is used to search the address on Google Maps -->
    <%= f.text_field :address, class: 'jt-address-search' %>

    <!-- All fields are hidden because the javascript will set their value automatically -->
    <% for attr in JT::Rails::Address.fields %>
    <%= f.hidden_field "address_#{street}", class: "jt-address-field-#{street}" %>
    <% end %>

    <% for attr in JT::Rails::Address.fields %>
    <%= f.hidden_field "address_#{zip_code}", class: "jt-address-field-#{zip_code}" %>
    <% end %>

    <% for attr in JT::Rails::Address.fields %>
    <%= f.hidden_field "address_#{city}", class: "jt-address-field-#{city}" %>
    <% end %>


    <% for attr in JT::Rails::Address.fields %>
    <%= f.hidden_field "address_#{country}", class: "jt-address-field-#{country}" %>
    <% end %>

  </div>

    <%= f.submit "Enregistrer les changements", class: "btn btn-primary" %>
   <% end %>
</div>

application.js:

// This function is call when Google Maps is loaded
window.googleMapInitialize = function(){

// Simple usage
$('.jt-address-autocomplete').jt_address();

 };

我已经在用户控制器的user_params中添加了地址,用户模型中的has_address:地址 我也放了我的Google Api。

我的实际错误:

  

未定义的局部变量或方法`street&#39;对于#&lt;#:0x00007fe91dfaefc0&gt;

提前感谢您的帮助。

  

没有更多的错误,但是一个错误,可能是因为谷歌地图,我不知道如何   要解决它,我无法写地址,并且有一条错误消息:

problem

这里是检查员的代码:     http://maps.gstatic.com/mapfiles/api-3/images/icon_error.png);&#34;&GT;

1 个答案:

答案 0 :(得分:0)

首先,您应该使用select添加文档中的字段或范围,现在您的代码将创建重复的隐藏字段。

您应该从rails控制台检查方法地址是否在User模型实例上可用。也许您在安装此gem之后忘记运行迁移或没有重新启动服务器,因为这是js gem并且需要重启

希望这能回答你的问题。如果问题仍然存在,请在此答案中添加评论。