如何让我的 user.address 州和国家/地区字段正确包含在我的视图中?
How do I get my user.address state and country fields included properly in my view?
在我的模型中,app/models/user.rb,我有
class User < ActiveRecord::Base
…
belongs_to :address
在我的模型中,我尝试像这样收集地址字段
<%= form_for(@user) do |f| %>
…
<%= f.fields_for :address do |addr| %>
<%= addr.label :address, "Hometown" %><br/>
<div class="field"><%= addr.text_field :city, placeholder: "City", :class => 'textField' %></div>
<%= select_tag :state, options_for_select([["Select State", nil], *us_states]), {class: "selectField selectMenu form-control"} %>
<%= country_code_select(:country, :country,
[[ 'US', 'United States' ], [ 'CA', 'Canada' ]],
{:include_blank=>true},
{:style=>''}
) %>
<% end %>
<% end %>
但是当我的州 select 菜单被渲染时,它是用 id “state” 渲染的,提交我的用户表单不会选择我的州(或国家)菜单。我需要在我的模型中包含什么 ID 才能将州和国家/地区添加到我的 user.address 模型中?
也许你应该这样做
<%= f.fields_for :address do |addr| %>
<%= addr.label :address, "Hometown" %><br/>
<div class="field">
<%= addr.text_field :city, placeholder: "City", :class => 'textField' %>
</div>
<%= addr.select :state, *us_states, {prompt: 'Select State'}, class: "selectField selectMenu form-control" %>
<%= addr.select :country, [[ 'US', 'United States' ], [ 'CA', 'Canada' ]], { include_blank: true }%>
<% end %>
希望对您有所帮助
在我的模型中,app/models/user.rb,我有
class User < ActiveRecord::Base
…
belongs_to :address
在我的模型中,我尝试像这样收集地址字段
<%= form_for(@user) do |f| %>
…
<%= f.fields_for :address do |addr| %>
<%= addr.label :address, "Hometown" %><br/>
<div class="field"><%= addr.text_field :city, placeholder: "City", :class => 'textField' %></div>
<%= select_tag :state, options_for_select([["Select State", nil], *us_states]), {class: "selectField selectMenu form-control"} %>
<%= country_code_select(:country, :country,
[[ 'US', 'United States' ], [ 'CA', 'Canada' ]],
{:include_blank=>true},
{:style=>''}
) %>
<% end %>
<% end %>
但是当我的州 select 菜单被渲染时,它是用 id “state” 渲染的,提交我的用户表单不会选择我的州(或国家)菜单。我需要在我的模型中包含什么 ID 才能将州和国家/地区添加到我的 user.address 模型中?
也许你应该这样做
<%= f.fields_for :address do |addr| %>
<%= addr.label :address, "Hometown" %><br/>
<div class="field">
<%= addr.text_field :city, placeholder: "City", :class => 'textField' %>
</div>
<%= addr.select :state, *us_states, {prompt: 'Select State'}, class: "selectField selectMenu form-control" %>
<%= addr.select :country, [[ 'US', 'United States' ], [ 'CA', 'Canada' ]], { include_blank: true }%>
<% end %>
希望对您有所帮助