3

ビュー内の次のコードに問題があります。

<div class="btn-group" data-toggle="buttons">
  <%= f.label :private, class: "btn btn-default" do %>
    <%= f.check_box :private %> Private
  <% end %>
</div>

技術的には機能しますが、privateフィールドが最初に true (チェックされている) の場合、ボタンはチェックされていないかのように見えます。おそらく、check_box ヘルパーが 2 つの入力を生成し、そのうちの 1 つが隠されていることが原因です。

RailsビューでBootstrapチェックボックスの実装例を誰かに見せてもらえますか?

4

2 に答える 2

2

Bootstrap スクリプトは、ページの読み込み時に状態を更新しないことが判明しました。そこで、次の JavaScript コード スニペットで解決しました。

$("[data-toggle='buttons'] .btn").each(function(i, el) {
  var $button = $(el);
  var checked = $button.find("input[type='checkbox']").prop("checked");
  if (checked) {
    $button.addClass("active");
  } else {
    $button.removeClass("active");
  }
});
于 2013-09-27T10:09:58.770 に答える
0

これは、Simple Form を使用して生成された私のプロジェクトの 1 つからの有効なチェックボックスです。

<%= f.input :cost, label: "Cost to access resource" %>

生成するもの:

<div class="form-group boolean optional archive_resource_cost">
   <input name="archive_resource[cost]" type="hidden" value="0" />
   <label class="boolean optional checkbox" for="archive_resource_cost">
   <input checked="checked" class="boolean optional" id="archive_resource_cost" name="archive_resource[cost]" type="checkbox" value="1" />
      Cost to access resource
   </label>
</div>

あなたの:privateモデル属性は間違いありbooleanませんか?

于 2013-09-27T07:52:29.197 に答える