raylar simple_form - gizli alan - oluştur?


Yanıtlar:


309

bunu dene

= f.input :title, :as => :hidden, :input_html => { :value => "some value" }

8
Teşekkürler, işe yaradı. = f.input :title, :as => :hidden, :input_html => { :value => "some value" }
Linus Oleander

5
simple_formGizli girişleri yapmanın yolu budur , ancak yalnızca gizli bir giriş gerekiyorsa, hidden_fieldBasit Form tüm form oluşturucu yöntemlerini devraldığından, Rails'in form oluşturucusunu kullanın .
scarver2

281

Henüz Kısa!

=f.hidden_field :title, :value => "some value"

Daha kısa, KURU ve belki de daha açıktır.

Tabii ki yakut 1.9 ve yeni karma formatı ile 3 karakter daha kısa ...

=f.hidden_field :title, value: "some value"

1
Veya <% = f.hidden_field: term_id,: value => @ transaction.term_id%>
mirap

2
Bu kabul edilen cevap olmalı. Her ne kadar basit form sorulsa da, bu aynı şeyi daha kısa bir sözdizimiyle gerçekleştirdiğinde kullanmak için bir neden yoktur.
Greg Blass

5
= f.input_field :title, as: :hidden, value: "some value"

Ayrıca bir seçenektir. Bununla birlikte, form oluşturucunuz için tanımlanan sarıcıları atladığını unutmayın.


5

Doğru yol (hidden_field girdisinin değerini sıfırlamaya çalışmıyorsanız):

f.hidden_field :method, :value => value_of_the_hidden_field_as_it_comes_through_in_your_form

:method Nesne üzerinde çağrıldığında istediğiniz değerle sonuçlanan yöntem nerede

Yukarıdaki örneği takip ederek:

= simple_form_for @movie do |f|
  = f.hidden :title, "some value"
  = f.button :submit

Örnekte kullanılan kod, form tarafından iletilen @movie değerini (: title) sıfırlar. Filmi sıfırlamak yerine değerine (: başlık) erişmeniz gerekiyorsa, bunu yapın:

= simple_form_for @movie do |f|
  = f.hidden :title, :value => params[:movie][:title]
  = f.button :submit

Yine sadece benim cevap kullanın kullanıcı tarafından gönderilen değeri sıfırlamak istemiyorum olmasıdır.

Umarım bu mantıklı gelir.


1
İçin simple_form_for, hiddenburada kullanılan yöntem undefined method # <SimpleForm :: FormBuilder: 0x00007ffa6cde0be8> `
Kiry Meas
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.