質問

どのように設定していまにカスタムidをお使いの場合check_box_tagヘルパーでレール?

私はループを作成するバンチのチェックボックスに基づくコレクション

- subject.syllabus_references.each do |sr|
      = check_box_tag 'question[syllabus_reference]', sr.id, :id => sr.id
      = label_tag sr.id, sr.name

なりに整理してみたいと思いカスタムidできるようにラベルのチェックボックスをチェックが正しく動作がないのですがどう(id=>sr.idな...).

の問題として提供するものであり、とにか定義され、ラベルソフトウエアのライセンもすれば取得できることをご参照の上、正しくチェックボックスを設けないカスタムidしていることも---

役に立ちましたか?

解決

このアダプタのご使用をチェックボックスのタグからの収集及び提出の配列として

<% @cursos.each do |c| %>
  <span class='select_curso'>
    <%= check_box_tag "vaga[curso_ids][]",
      c.id, (checked = true if form.object.curso_ids.include?(c.id)) %>
    <%= label_tag "vaga[curso_ids][][#{c.id}]", c.nome %>
  </span>
<% end %>

このパラメータとして配列 "curso_ids"=>["1", "3", "5"] の代わりに文字列 "curso_ids"=>"5".したい場合に返す単一の値を使用 vaga[curso_id], 他の利用 vaga[curso_ids][] を返す配列になります。

他のヒント

このチェックボックスに余分なパラメータを与えた場合、それは動作します:

= check_box_tag 'question[syllabus_reference]', 1, nil, :id => sr.id

@Ganesh、あなたの溶液を得paramsハッシュは次の形式を持っています

params[:question][:syllabus_reference] = {1 => 1, 2 => 2, 3 => 3, ...}

これらはあなたのためのより良い動作するはずます:

check_box_tag "question[syllabus_reference][]", sr.id, checked, {:id => "question_syllabus_reference_#{sr.id}"

お知らせ3番目のパラメータは、(チェック)の仕事に、このために必要とされます。得params配列は

params[:question][:syllabus_reference] = {1, 2, 3, ...}

私はそれを考え出したと考えて...

- subject.syllabus_references.each do |sr|
  = check_box_tag "question[syllabus_reference][#{sr.id}]", sr.id
  = label_tag "question[syllabus_reference][#{sr.id}]", sr.name
あなたが持っている場合は、

この作品ではなく、より良い方法は、私に知らせて!

これは非常に有用だったと最後に私の日の長い検索をもたらしました。私はどちらか完全にフラグを立てたり、無視レール今含まれている構文と追加のパラメータが見つかるまでしたいものの大部分。私がやりたいことのすべては、コントローラのプロセスへの配列要素を伝えるために私のコントローラおよび使用のチェックボックスへの私の見解から配列を渡しています。

:私に、さらに上記を軽減することができました
<%= check_box_tag "c[]", c.id %>
cは私のデータベースから来て

<%= @objects.each do |c| %>

このはもちろんのみ確認エントリ(私はを出て左以来エントリはデフォルトではチェックされていませに関する私のコントローラにオブジェクトIDの配列を渡します方法で同じことを生成するfalse のパラメータを、結果ののように:。のほとんどのすべてのIの必要性である、真の)

今、私はちょうどオブジェクトタイプインジケータに渡す必要があります - だけでも、文字列リテラルはうまくやるだろう - コントローラは、それは私が余分な列と私のモデルを強化することなく、プロセスにあるオブジェクトの種類を知っているので、ということ。私は今、その上で起動し、私の解決策を投稿していますが既に知っている場合は、これを行うために迅速かつ簡単な方法がありますなら、私に知らせてくださいよ。

HAMLサンプル

あなたはprint属性を持つframedオブジェクトのどこかを考えてみましょう、あなたはprints

を更新するために、各rowにユニークなIDを持つカスタムcolumncheckboxを作成するループ内のでframedの一覧を表示する必要が
.input.row.collapse
  = check_box_tag :framed, print.framed, nil, { id: "framed_#{print.id}" }

Leito,

であり、ループしたいパスオブジェクト型を示すための指標を通じて check_box_tag.各パラメータを加え、構文に示すか、上記(以下??) けるのチェックボックスをチェック状態でデフォルト 確認チェック, な通過を追加して他のデータをコントローラ部でします。

をアラートへの代替ソリューションを表現していて、自分を取り入れたオブジェクト型の submit_tag 値とします。この機能の表示、 submit_tag 値はどのユーザに提出ボタンがここの部隊透明感のもとで必要なのは正しい命題を積み重ねをコントローラ部でします。

学習の日々...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top