2016-04-08 9 views
3

私は既に私の問題を解決しています。他の人と共有したいだけです。レールがマテリアライズCSSフレームワークとシンプルフォームを使用している場合、チェックボックスは表示されません

私は単純なフォームを使ってフォームを生成し、スタイルはmaterialize css frameworkによって制御されるレールアプリを作成しています。

私が最初に持っている問題は、シンプルなフォーム出力にブール値の型チェックボックスを持つ入力タグを出力させることです。単純な形式の出力は、タイプのチェックボックスを持つinputタグは、そのボックスのラベルのみがビューに表示されていることが、

f.input :delivery_check, as: :boolean, label: "Check if order was delivered" 

しかし:彼らのドキュメントをチェックすると、ここに私のソリューションです。

まず、マテリアライズのウェブサイト上のコード例を読めば:

答えて

3

は、ここに私の実用的なソリューションです。入力タグは、ラベルタグの前に表示する必要があります。だから私たちは簡単な形式で独自のラッパーをカスタマイズする必要があります。

だから、あなたのconfig /初期化子ディレクトリに、simple_form.rbがあるはずです(またはあなたがそれを初期化した場合simple_form_bootstrap.rb)

がで、今、この

config.wrappers "my_checkbox", tag: 'div', class: "col s4", error_class: 'has-error' do |b| 
    b.use :input 
    b.use :label 
    b.use :error, wrap_with: { tag: 'span', class: 'help-block' } 
    b.use :hint, wrap_with: { tag: 'p', class: 'help-block' } 
end 

のようなあなたのラッパーを追加するには、 :あなたは、簡単なフォーム入力ヘルパーを呼び出すビューテンプレートは、あなたがのように省略する必要があります:ブール値のオプションを、そしてinput_htmlスルー型で渡し

f.input :delivery_check, :input_html => { :type => "checkbox", :id => "delivery_check" }, wrapper: :my_checkbox, label: "Check if order was delivered" 
(それ以外の場合は、チェックボックスのinputタグの2セットを生成します) 0

それはかなりの時間私をつかまえてしまうだけの単純な問題です。同様の問題を抱えている人を助けることを願っています。

関連する問題