параметр отсутствует или значение пусто: но параметр IS там со значением - PullRequest
1 голос
/ 19 мая 2019

FYI, ОЧЕНЬ плохо знаком с Rails

параметр отсутствует или значение пусто: roster_id Извлеченный источник (около строки # 83): 81 82 83 84 85

  #  end
  def locker_params
    params.require(:roster_id).permit(:id,  :next_due, :notes, :key_num, :lockernum, :location, :row, :size, :memberID)
  end
end

Трассировка приложения|Framework Trace |Приложение Full Trace / controllers / lockers_controller.rb: 83: в locker_params' app/controllers/lockers_controller.rb:52:in блоке в обновлении 'app / controllers / lockers_controller.rb: 51: в параметре запроса' update ':

{"utf8"=>"✓",
 "_method"=>"patch",
 "authenticity_token"=>"uq6+5NchGu0or3JfIquY99goeg8uOQ5B2ttMTQ2O6mgE/aeoNyUT7Le+i+n/Ug5a44rwQkJ/ZhecTlJgnZzhtQ==",
 "locker"=>{"roster_id"=>"199", "location"=>"FrontL    "},
 "commit"=>"Update Locker",
 "id"=>"573"}

Как видитев запросе параметр roster_id находится в запросе и имеет значение.

Форма использует массив, составленный из таблицы реестров

    <div class="actions">
  <%= form.collection_select(:roster_id,@rosters.all, :id, :formatted_name)  %>
  Location <%= form.text_field :location %>
    <%= form.submit %>
  </div>

Чего мне не хватает.Если я удалю .require и добавлю roster_id в разрешение, форма не выдаст ошибку, но таблица не обновится.

1 Ответ

2 голосов
/ 19 мая 2019

Я думаю, вы пытаетесь указать неверный параметр, поэтому ваш метод locker_params возвращается пустым.Попробуйте:

params.require(:locker).permit(:roster_id, :location...)

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