it-swarm.dev

كيف يمكنني استخدام hidden_field في form_for في روبي أون ريلز؟

لقد قرأت هذا ، لكنني جديد على RoR لذلك أجد صعوبة في فهمه. أنا أستخدم نموذجًا لإنشاء سجل طلب جديد ، وجميع المتغيرات التي أريد إرسالها موجودة بالفعل. فيما يلي البيانات التي أريد إرسالها (هذا في حلقة عمل):

: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 %>

كيف أستخدم الحقول المخفية لإرسال البيانات التي لدي بالفعل؟ شكرا للقراءة.

66
ben

مرجع 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 %>

يتغير إلى أتش تي أم أل

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

وعند استخدامها

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

يتغير إلى أتش تي أم أل

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

يمكنك إرسال قيمة مخصصة كمدخل مخفي للطراز الخاص بك مثل هذا:

<%= f.hidden_field :version, value: 12 %>
54
Bruno Paulino