我是铁杆上的新人。我在一个项目上工作,我尝试为我的用户添加物理地址。我希望地址可以帮助完成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;
提前感谢您的帮助。
没有更多的错误,但是一个错误,可能是因为谷歌地图,我不知道如何 要解决它,我无法写地址,并且有一条错误消息:
这里是检查员的代码: http://maps.gstatic.com/mapfiles/api-3/images/icon_error.png);&#34;&GT;
答案 0 :(得分:0)
首先,您应该使用select
添加文档中的字段或范围,现在您的代码将创建重复的隐藏字段。
您应该从rails控制台检查方法地址是否在User
模型实例上可用。也许您在安装此gem之后忘记运行迁移或没有重新启动服务器,因为这是js gem并且需要重启
希望这能回答你的问题。如果问题仍然存在,请在此答案中添加评论。