Ruby On Rails: как передать значение Input из формы в контроллер в теге link_to? - PullRequest
0 голосов
/ 05 февраля 2019

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

Однако params [: hash], который является моим входом, не передает ввод в контроллер.дает NULL.Пожалуйста, посмотрите на мой код и дайте мне знать, где я иду не так.спасибо

view: 
= simple_form_for(@user, :html => {:class => 'user_form'}) do |f|
= f.input :hash, :input_html => {:class => 'span4'}
= link_to('Click to confirm key Encryption',confirm_encrypt_path(@user,:hash=>?)

controller:
def confirm_encrypt
   check = params[:hash]
   puts check # gives null value 
   MyModel.reset_authentication_pin!(current_user.id,params[:hash])
end

Я ожидаю, что значение проверки путов должно быть введенным пользователем значением.

1 Ответ

0 голосов
/ 05 февраля 2019

Трудно сказать, что здесь происходит, потому что кажется, что вы включили только часть представления, если бы вы могли редактировать свой вопрос, это могло бы помочь пролить некоторый свет на то, что еще происходит.

Для меня выделяются три вещи:

  1. По вашему мнению вы вызываете input: hash, но когда вы пытаетесь получить значение, вы получаете params [:temp1] not params [: hash]

  2. В link_to вы включаете пользователя, но не включаете никакого значения для: hash.Вдобавок ко всему, я считаю, что вам просто нужно ввести params [: hash], чтобы успешно передать значение: hash в контроллер так, как оно у вас есть.

  3. По вашему мнению, вы настроили simple_form_for, но, похоже, вы не используете submit для получения значения: hash в контроллере.Если вы решили пойти по этому пути, вам просто нужно убедиться, что форма направлена ​​на соответствующий контроллер.

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