Ruby on Rails'de bir form_for'da hidden_field'ı nasıl kullanırım?


83

Okuduğum ettik bu ama küçük bir sorun anlama yaşıyorum o yüzden RoR yeniyim. Yeni bir istek kaydı oluşturmak için bir form kullanıyorum ve göndermem gereken tüm değişkenler zaten mevcut. İşte göndermem gereken veriler (bu bir do döngüsünde):

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

Şimdiye kadar çalışan, ancak her şey için yalnızca NULL değerleri gönderen formum:

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

Zaten sahip olduğum verileri göndermek için hidden_fields'ı nasıl kullanırım? Okuduğunuz için teşekkürler.


Az önce <% = f.hidden_field: user_id,: value => w [: calleeID]%> denedim ama az önce NULL gönderdi
ben

Yanıtlar:


104

Ref hidden_field veya 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 %>

sonra kontrolörde

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

Ne zaman kullandığınızı not edin

   <%= f.hidden_field :some_column %>

html olarak değişir

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

ve ne zaman kullandığın

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

html olarak değişir

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

78

Modeliniz için gizli bir girdi olarak özel bir değer gönderebilirsiniz:

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

value: 12Sadece bir demo nerede , ancak ihtiyacınız olan değeri aktarabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.