Перенаправление удаленной формы Rails 5 на разные страницы с использованием виртуального атрибута

#ruby-on-rails #virtual-attribute

#ruby-on-rails #virtual-attribute

Вопрос:

У меня есть remote: true форма в моем приложении Rails 5, и я хотел бы перенаправлять на разные страницы в зависимости от того, когда она используется.

Я попытался добавить :redirect_to виртуальный атрибут:

 <%= a.input :redirect_to, as: :hidden, input_html: { 
    value: confirmation_orders_path
} %>
  

И модифицировал мою модель, чтобы принять этот виртуальный атрибут:

 attribute :redirect_to, :string
attr_accessor :redirect_to
  

Но я все еще вижу Unpermitted parameter: :redirect_to . Что я могу сделать, чтобы разрешить передачу этого параметра?

Комментарии:

1. Вы пробовали params.require(:confirmation_orders).permit(:redirect_to) в своем контроллере?

2. Он был у меня в контроллере до добавления attribute в модель, и он выдал ошибку, поэтому я удалил его. Я думаю, вам нужно иметь КАК атрибут модели, так и разрешение контроллера, чтобы это работало!

3. Да, это правильно.

4. redirect_to, похоже, не является зарезервированным словом, но я бы все равно попробовал что-то, что не похоже на команду ruby. Кроме того, вы дважды объявили свой атрибут. Я не очень привык к attribute , поэтому не могу сказать, что лучше… но просто удалите attribute :redirect_to, :string и сохраните attr_accessor :redirect_to и посмотрите, что произойдет

5. Я считаю, attribute :redirect_to, :string что Rails 5 — это способ сделать это.