Як я можу використовувати hidden_field у form_for у Ruby on Rails?


83

Я прочитав це , але я новачок у RoR, тому маю невеликі проблеми з його розумінням. Я використовую форму для створення нового запису запиту, і всі змінні, які мені потрібно надіслати, уже існують. Ось дані, які мені потрібно надіслати (це в циклі do):

:user_id => w[:requesteeID]
:requesteeName => current_user.name
:requesteeEmail => current_user.email
:info => e

Ось моя форма, яка працює дотепер, але надсилає лише NULL значення для всього:

<% form_for(:request, :url => requests_path) do |f| %>
    <div class="actions">
        <%= f.submit e %>
    </div>
<% end %>

Як я використовую hidden_field для надсилання даних, які вже маю? Дякуємо за читання.


Щойно спробував <% = f.hidden_field: user_id,: value => w [: calleeID]%>, але щойно надіслав NULL
бен

Відповіді:


104

Посилання hidden_field або hidden_field_tag

<% form_for(:request, :url => requests_path) do |f| %>
    <div class="actions">
        <%= f.hidden_field :some_column %>
        <%= hidden_field_tag 'selected', 'none'  %>
        <%= f.submit e %>
    </div>
<% end %>

потім у контролері

 params[:selected]="none"
 params[:request][:some_column] = request.some_column

Зверніть увагу, коли ви використовували

   <%= f.hidden_field :some_column %>

він зміниться на html

<input type="hidden" id="request_some_column" name="request[some_column]" value="#{@request.some_column}" />

і коли ви використовували

<%= hidden_field_tag 'selected', 'none'  %>

він зміниться на html

   <input id="selected" name="selected" type="hidden" value="none"/>

78

Ви можете надіслати власне значення як прихований вхід для вашої моделі таким чином:

<%= f.hidden_field :your_model_field_name, value: 12 %>

Де value: 12лише демонстрація, але ви можете передати будь-яке значення, яке вам потрібно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.