Почему мой маршрут '/ objects /: slug' говорит мне, что мне нужен пост-маршрут? - PullRequest
0 голосов
/ 09 мая 2019

Я создаю веб-приложение для моего проекта Sinatra в bootcamp, которое отслеживает коллекцию видеоигр. Я пытаюсь использовать слизняков для моих маршрутов. После заполнения формы редактирования и нажатия кнопки «Отправить» меня переводят на страницу синатры, где мне сообщают, что мне нужен почтовый маршрут. У меня уже есть маршрут патча.

Я сделал пост-маршрут, но затем все изменения были проигнорированы. Я также попытался снова отобразить представление вместо простого перенаправления.

Это моя форма редактирования:

  <input id="hidden" type="hidden" name="_method" value="patch">
  <input type="text" name="name" placeholder="Name" value=<%=@console.name%> > <br />
   <input type="text" name="company" placeholder="Company" value=<%=@console.company%>> <br />
   <input type="date" name="date_added" placeholder="Date added" value=<%=@console.date_added%> ><br />
   <input type="integer" name="generation" placeholder="Generation" value=<%=@console.generation%> > <br />
   <input type="submit" value="submit">
  </form>


and my patch route:
   patch '/consoles/:slug' do
   if logged_in?
     @console = Console.find_by_slug(params[:slug])
     @Console.update(:name => params[:name], :company => params[:company], :date_added => params[:date_added], :generation => params[:generation])
     @console.save
     redirect "/consoles/#{@console.slug}"
   else
     redirect "/consoles/#{params[:slug]}/edit"
   end
 end

Я хочу, чтобы меня перенаправили на представление шоу с новыми правками. Возможно ли это с маршрутами слизней или я должен переключить маршруты для использования идентификаторов? Есть ли способ, которым я могу включить оба?

...