以狂欢形式更改下拉内容(Rails)

时间:2017-06-14 22:37:51

标签: ruby-on-rails spree

我正在开发一个基于spree构建的项目,并且在选择送货地址时尝试将州名缩写连接到下拉列表中的州名。

示例:"纽约 - 纽约"而不是"纽约"

可以找到送货地址表单here,下面是状态选择下拉列表:

 <% if Spree::Config[:address_requires_state] %>
<p class="form-group" id=<%="#{address_id}state" %>>
  <% have_states = !address.country.states.empty? %>
  <%= form.label :state do %>
    <%= Spree.t(:state) %><abbr class='required' title="required" id=<%="#{address_id}state-required"%>>*</abbr>
  <% end %>

  <%== state_elements = [
     form.collection_select(:state_id, address.country.states,
                        :id, :name,
                        {include_blank: true},
                        {class: have_states ? 'form-control required' : 'form-control hidden',
                        disabled: !have_states}) +
     form.text_field(:state_name,
                        class: !have_states ? 'form-control required' : 'form-control hidden',
                        disabled: have_states)
     ].join.gsub('"', "'").gsub("\n", "")
  %>
</p>
  <noscript>
    <%= form.text_field :state_name, class: 'form-control required' %>
  </noscript>
  

在查看this帖后,我认为:name是调用每个选项生成文本的方法,但当我将其更改为:abbr时(应该是它拥有的财产)一切都保持完全相同。我很确定我的更改正在运行,因为当我进行其他更改时,它可以正常运行。你如何更改选项文本并管理它,如何获得名称和缩写,并用连字符连接它们。

正如注释:我正在使用Deface::Override对代码进行更改。

0 个答案:

没有答案