2011-08-17 25 views
5

Doğru terimlerin ne olduğundan emin değilim, ama yapmaya çalıştığım şey (tercihen simple_form gem kullanarak) bir formdadır, en fazla: bir metin alanı ve kutu seçin. Kullanıcı, metin kutusuna bir sayı yazacak ve daha sonra saat, gün veya ayın bir açılır kutusundan seçim yapacaktır. 21 gün, 3 ay, 3 saat, vb. Form gönderildiğinde, bunu günlere dönüştürüp veritabanında saklıyorum. Girdi tipini simple_form olarak nasıl değiştireceğimi biliyorum, ancak bir değişken için iki girdiye sahip olmak mümkün mü? senin görünümünde Sonrasimple_form girişi ile birden çok alan

attr_accessor :thing, :another_thing, :and_another_thing 

, yardımcı form_for 'içinde', örneğin yazabilirsiniz:

Öncelikle, kullanıcı modelinde erişimcilere tanımlayın:

+0

attr_accessor'unu kullanın ve sonra mantığı daha sonra, before_save gibi bir geri çağrıda işleyin. – socjopata

+0

Attr_accessor'un nasıl kullanılacağını açıklar mısınız? – Alexei

cevap

4

Tabii :) İşte benim fikirdir:

<%= form.input :thing, :as => :boolean %> 
<%= form.input :another_thing, :as => :text %> 

... ya da her türlü istediğiniz. (Not: Burada formtastic kullanıyorum Sen formtastic mücevher kullanmıyorsanız Raylar yöntemleri kullanarak düşünmelisiniz..)

Son olarak

, senin içinde de kullanıcı modelini bir geri arama tanımlamak: Ben yapabildin tahmin

before_create :build_my_fancy_record 

def build_my_fancy_record 
    self.storage_field = "#{thing} #{another_thing}" 
end 
+0

Bir çekicilik gibi çalışır, çok teşekkür ederim! – Alexei

İlgili konular