Nie mogę znaleźć żadnych informacji o tym, jak uzyskać formularz internetowy w Rails 5 do przesłania z niestandardowymi nagłówkami. Chciałbym, aby adres URL, do którego wysyłam żądanie PUT, również otrzymał niektóre niestandardowe nagłówki. Jestem zaskoczony, że nie ma dla tego argumentu za form_for.Szyny 5: Jak można przesłać formularz za pomocą niestandardowych nagłówków HTTP?
Mogłem to zrobić, przesyłając formularz do działania, w którym zmieniam tam nagłówki, np. request.headers['my-header'] = 'xyz'
. Musiałbym wtedy wykonać żądanie w postaci "środkowej" kontrolera i uważam, że ten dodatkowy krok jest niekonsekwentny.
Mogę również użyć jQuery do powiązania z kliknięciem, które przesłałem, i wysłać dane formularza po dodaniu nagłówków za pomocą JavaScript. W tym procesie raczej nie należy angażować innej warstwy (tj. JS).
Wolałbym tego nie robić. Czy istnieje sposób, w jaki mogę po prostu użyć pomocników formularzy Railsów (lub jakiegoś pomocnika kontrolera) do dodania niestandardowych nagłówków do żądania złożonego przez formularz?
Dlaczego chcesz wysłać niestandardowy nagłówek HTTP w formie? Co próbujesz zarchiwizować? – spickermann
@spickermann naprawdę, odpowiedź brzmi "cokolwiek chcę" - dlaczego nie mam potrzeby wysyłania niestandardowych nagłówków? Mogłem wymyślić wiele powodów. W tym konkretnym przypadku próbuję wysłać nagłówki znaczników na okaziciela do interfejsu API, który wymaga ich uwierzytelnienia. – Todd
Mamy dwa nagłówki, które musimy ustawić, "Xmlrpc-Token" i "Token". Jak możemy ustawić te z form_for? –