新手问题 [已解决] slim 中如何使用一行代码根据变量,来自动禁用或启用一个 input 元素的输入

seaify · 2015年09月27日 · 最后由 seaify 回复于 2015年10月19日 · 1800 次阅读

有时候会碰到这样的情况,不同角色的用户登录后,可操作的权限是不一样的,有的可编辑,有的只可查看。

对于同一个_form.html.slim, 就希望能根据一个变量,如果变量为 true, 则该行 input 可编辑,否则 disable 掉。并且要求是单行代码,多行代码太冗余了。

而类似的有,动态的设置一个 div 的 class, 然后根据不同的 class, 更改相应的样式

div class=('active' if is_active?)

可是 disabled 属性却不能这样操作,如 disabled=true, disabled=false, 没有区别,它出现后,就禁用了。

求助!

那就这样

! is_active? "disabled"

disabled=false 是不会输出 disabled 属性的,你确认一下你的 slim 版本是?

#2 楼 @quakewang

确实 disabled=false, 在 slim 中可行,之前写成了 disabled="false"这种,所以才有问题

=f.input_field :id_no, class: "form-control", disabled: cannot_edit
需要 登录 后方可回复, 如果你还没有账号请 注册新账号