Не удается получить форму выбора HTML для отображения выбранного home_state, ранее сохраненного пользователем в базе данных - PullRequest
0 голосов
/ 28 февраля 2019

Когда пользователь выбирает любое состояние и затем сохраняет его при перезагрузке, он возвращает только первое состояние, которое является Алабамским.Я проверил базу данных через консоль rails, чтобы убедиться, что она правильно сохранена, но выбор HTML не просто приводит к правильному полю.Другие поля получают правильные значения.

Вот _contact_info.html.erb

<div class="form-group col-md-4">
 <%= f.select :home_state, options_for_select(us_states), id: "home_state",
  prompt: "State", class: "form-control" %>
</div>

Application_controller.rb

<div class="form-group col-md-4">
      <%= f.select :home_state, options_for_select(us_states), id: "home_state",
      prompt: "State", class: "form-control" %>
    </div

us_states.helper

модульUsStatesHelper

    def us_states
        [
          ['Alabama', 'AL'],
          ['Alaska', 'AK'],
          ['Arizona', 'AZ'],
          ['Arkansas', 'AR'],
          ['California', 'CA'],
          ['Colorado', 'CO'],
          ['Connecticut', 'CT'],
          ['Delaware', 'DE'],
          ['District of Columbia', 'DC'],
          ['Florida', 'FL'],
          ['Georgia', 'GA'],
          ['Hawaii', 'HI'],
          ['Idaho', 'ID'],
          ['Illinois', 'IL'],
          ['Indiana', 'IN'],
          ['Iowa', 'IA'],
          ['Kansas', 'KS'],
          ['Kentucky', 'KY'],
          ['Louisiana', 'LA'],
          ['Maine', 'ME'],
          ['Maryland', 'MD'],
          ['Massachusetts', 'MA'],
          ['Michigan', 'MI'],
          ['Minnesota', 'MN'],
          ['Mississippi', 'MS'],
          ['Missouri', 'MO'],
          ['Montana', 'MT'],
          ['Nebraska', 'NE'],
          ['Nevada', 'NV'],
          ['New Hampshire', 'NH'],
          ['New Jersey', 'NJ'],
          ['New Mexico', 'NM'],
          ['New York', 'NY'],
          ['North Carolina', 'NC'],
          ['North Dakota', 'ND'],
          ['Ohio', 'OH'],
          ['Oklahoma', 'OK'],
          ['Oregon', 'OR'],
          ['Pennsylvania', 'PA'],
          ['Puerto Rico', 'PR'],
          ['Rhode Island', 'RI'],
          ['South Carolina', 'SC'],
          ['South Dakota', 'SD'],
      ['Tennessee', 'TN'],
      ['Texas', 'TX'],
      ['Utah', 'UT'],
      ['Vermont', 'VT'],
      ['Virginia', 'VA'],
      ['Washington', 'WA'],
      ['West Virginia', 'WV'],
      ['Wisconsin', 'WI'],
      ['Wyoming', 'WY']
    ]   end

end

1 Ответ

0 голосов
/ 28 февраля 2019

Вам нужно передать значение элемента, который вы хотите начать выделять.Что-то вроде

<div class="form-group col-md-4">
 <%= f.select :home_state, options_for_select(us_states, selected_state.abbreviation), id: "home_state",
  prompt: "State", class: "form-control" %>
</div>

см. https://guides.rubyonrails.org/form_helpers.html#the-select-and-option-tags для более подробной информации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...