【问题标题】:How to dynamically control text_field property in rails form如何以rails形式动态控制text_field属性
【发布时间】:2012-09-20 06:43:13
【问题描述】:

我想将 rails form text_field 属性设置为仅在模型已包含值时读取。

这是我的代码

<%= f.text_field :domain, class="span4", readonly: "true" %>

我想避免做一些冗长的事情,比如:

<%if @model.domain.empty? %>
   <%= f.text_field :domain, class="span4"%>
<%else%>
   <%= f.text_field :domain, class="span4", readonly: "true" %>
<%end%>

谢谢!

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3


    【解决方案1】:
    <%= f.text_field :domain, class="span4", :disabled => !@model.domain.blank? %>
    

    【讨论】:

    • 似乎不太奏效。 readonly: !:domain.empty? 在 HTML 输出中产生 readonly="readonly"
    • 好的,所以 readonly="readonly" 是正确的 HTML 输出对不起,但是当 :domain 有一个值时,我得到一个“未定义的方法”空?对于 nil:NilClass
    • 好的 - 我得到的错误是由代码中的其他内容引起的,但是我仍然无法让 :domain.empty? 返回 false 以外的任何内容。
    • 尝试设置 :disabled => !:domain.empty?而不是 :readonly
    • 我认为问题在于:domain.empty?永远不会为真 - 即使字段值为空。 @model.domain.empty?返回 true,但 :domain.empty?没有。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2020-04-11
    • 1970-01-01
    • 2015-06-14
    相关资源
    最近更新 更多