显示复选框 best_in_place ruby​​ gem

Posted

技术标签:

【中文标题】显示复选框 best_in_place ruby​​ gem【英文标题】:Display checkbox best_in_place ruby gem 【发布时间】:2012-04-11 16:13:33 【问题描述】:

我在一个项目中使用 best_in_place gem,我试图在它自己的地方显示一个复选框,但我做不到。我正在搜索它,但我无法在任何地方找到答案。我只能找到人们谈论显示“否”或“是”......或其他任何内容。但我只想看看复选框是否被选中。

【问题讨论】:

【参考方案1】:

我正在使用 font-awesome,但您也可以将它与 bootstrap 或其他图像一起使用。我显示复选框的解决方案只是使用raw method 来呈现复选框图像(在我的例子中是font-awesome 图标之一)

= best_in_place @project, 
    :active, 
    :type => :checkbox, 
    :collection => false: raw("<i class='icon-check-empty'></i>"), true: raw("<i class='icon-check'></i>")

现在它看起来像下面这样:

【讨论】:

【参考方案2】:

我已经设法使用 unicode 字符 ☐ 和 ☑ 进行破解

<span style='font-size: 1.75em;'>
<%= best_in_place a,
:bool, 
:type => :checkbox,
:collection => ["&#x2610;", "&#x2611;"]%>
</span>

&lt;span&gt; 包装器有助于在这种情况下选择大小。这是一个短期解决方案,我猜带有 AJAX 调用的复选框肯定会更好......

【讨论】:

@megas,尝试用 raw 封装@Sash 的集合::collection =&gt; [raw("&amp;#x2610;"), raw("&amp;#x2611;")]【参考方案3】:

我已经对原始的 best_in_place gem 进行了分叉,并对其进行了修改,以支持显示实际的标准 html 复选框。我的叉子可以在这里找到:https://github.com/jdashton/best_in_place

如果您不熟悉直接从 github 使用 gems,Gemfile 中的以下行应该可以解决问题:

gem 'best_in_place', github: 'jdashton/best_in_place'

【讨论】:

我希望这将被合并到实际的 gem 中:/【参考方案4】:

当前版本不支持。但是,这很容易做到。在需要的地方创建一个复选框,然后使用一些 javascript 向服务器发起 ajax 调用。

查看this *** 答案以获取示例。

【讨论】:

以上是关于显示复选框 best_in_place ruby​​ gem的主要内容,如果未能解决你的问题,请参考以下文章

Rails 4 的 best_in_place gem 复选框问题(为啥字符串没有转换为布尔值?)

best_in_place - 在视图中使用更新的值

best_in_place 更新后保留原始值

best_in_place 没有布局时不显示 nil 值

best_in_place 显示下拉菜单选项

如果在 ruby​​ on rails 中选中了复选框,则显示表单的其余部分