Пожалуйста, помогите, у меня есть одно извлечение данных, которое не работает с collection_select в rails 5.2, и я не могу найти то, что я сделал неправильно.
Новое приложение, использующее rails 5.2 и ruby 2.6.1, только этот фрагмент кода не может быть выполнен.
#---- called by views/myoffer/_form.html.erb
#---code shown below
module MyoffersHelper
@my_scosts = Setmeup.find_by_sql("select (t_is || '--' || description) as shipr, description as cost from setmeups where active is true and g_is = 'Ship' order by t_is, srby;")
end
end
#----- extracted from _form.html.erb
<%= form_with(model: myoffer, local: true) do |form| %>
# lots of stuff, including
# working collection_select
<div class="field">
<% @my_scosts = "" %>
<% get_scost %>
<%= @myoffer.shipping_quoted %> # proves shipping_quoted has value
<%= form.label :shipping_quoted %>
<%= form.collection_select :shipping_quoted, @my_scosts, :cost, :shipr%>
</div>
# data as pulled by sql
FedEx_Large--17.00 | 17.00
FedEx_Medium--7.00 | 7.00
FedEx_Small--5.00 | 5.00
Self_Delivery--1.00 | 1.00
USPS_2d_Large--9.00 | 9.00
USPS_2d_Medium--5.00 | 5.00
USPS_2d_Small--3.00 | 3.00
Этот collection_select отображает и назначает правильное значение, но не запоминает последнее выбранное значение. (значение существует, как показано оператором debug над form.label.) У меня есть несколько других операторов find_by_sql collection_select, которые работают и действительно запоминают последнее значение. Пожалуйста, помогите мне понять, что я неправильно кодировал?