#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 — это способ сделать это.