2012-07-09 12 views
5

Simple_form gem kullanıyorum.Basit bir form girdisine fazladan veri ekleyin

Ben bir koleksiyon dayalı bir giriş render ediyorum (bir liste tüm benim actiontypes)

<%= f.association :actiontype, collection: Actiontype.all, input_html: { data: {'impacts-pnl' => ??}} %> 

ekstra verileri depolamak için girişine bir veri niteliği eklemek mümkün olmak istiyorum.

Bu durumda, actiontype sayfamın impacts_pnl özniteliğini saklamak istiyorum. Tek sorun ne (besbelli) çalışmıyor akım actiontype

collection.impacts_pnl için

actiontype.impacts_pnl başvurmak için nasıl bilmiyorum olmasıdır.

Bu ekstra veriyi girdime nasıl aktarabilirim?

cevap

14

Bu özellikleri bir seçim alanının seçenek öğelerine eklemek isterseniz, örneğin .map() işlevini kullanarak koleksiyonu değiştirmeniz gerekir. Ayrıca, bunu yapmak için giriş yardımcısını blokla birlikte kullanın, aksi halde çalışmaz;

Bu sorun hakkında daha fazla bilgi için
= f.input :actiontype do 
    = f.select :actiontype, Actiontype.all.map{|a| [a.name, a.id, {"data-impacts-pnl" => p.impacts_pnl}]} 

, https://github.com/plataformatec/simple_form/issues/188

+0

sayesinde bkz, sana bir bloğun bir parçası olarak 'f.select' belirtmeniz gerekir bölümünü kaçırmıştı! – Pierre

+0

Ve '