ruby-on-rails – Rails:有条件地显示/隐藏表单字段的最佳方式
发布时间:2020-12-16 22:14:46 所属栏目:百科 来源:网络整理
导读:我有一个模型文档,它具有属性种类和上下文. Kind是一个整数,用作枚举(使用优秀的active_enum gem).上下文仅适用于类型为“2”的文档,即如果文档是2以外的任何类型,则上下文将为空白. 所以在表单页面中创建一个新文档,我有一个 select选择类型,以及最初隐藏的
我有一个模型文档,它具有属性种类和上下文. Kind是一个整数,用作枚举(使用优秀的active_enum gem).上下文仅适用于类型为“2”的文档,即如果文档是2以外的任何类型,则上下文将为空白.
所以在表单页面中创建一个新文档,我有一个< select>选择类型,以及最初隐藏的上下文的textarea: <%= form_for @document do |f| %> ... <%= f.text_area :context,placeholder: 'Context',style: 'display:none' %> <%= f.select :kind,Document.active_enum_for(:kind).to_select %> ... <% end %> 并且使用jQuery的show()和hide()方法显示和隐藏textarea,该函数绑定到下拉列表中的change()事件. 到现在为止还挺好.但是在文档的编辑页面上,我不希望上下文textarea始终隐藏在初始页面加载上,因为我们可能正在编辑类型为2的文档.所以我希望textarea最初显示为我们是编辑类型2的文档,但在其他情况下隐藏. 这就是我现在拥有的: <% if @document.kind == 2 %> <%= f.text_area :context,placeholder: 'Context' %> <% else %> <%= f.text_area :context,style: 'display:none' %> <% end %> 有没有更好的方法来做到这一点?这对我来说有点冗长和多余;有没有办法我只能调用f.text_area并有条件地包含style:选项? 还是我在思考这个? 解决方法
用这个 :
<%= f.text_area :context,style: "#{'display:none' if @document.kind == 2}" %> 或者你可以为此添加一个css类, display-none{ display:none; } <%= f.text_area :context,class: "#{'display-none' if @document.kind == 2}" %> 谢谢 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- ruby – 如何让Mechanize自动将body转换为UTF8?
- 寒風的Cocos2dx之旅之如何实现一个动画的播放
- PLSQL 解析XML文件
- A Practical Approach to Exploiting Coarse-Gra
- react-native 下编写工具、Public类
- Swift 关联Storyboard中的controller解决UIColle
- .net – 如何初始化Singleton?
- 在Swift 4 / XCode 9中的ios – .joined(separat
- cocos2d-x:粒子系统详解 (Particle System)
- FLEX Debugging your application
热点阅读