Rails 关于如何在 Rails 的 view 画面上的字段为不可编辑

Cger007 · 2016年12月01日 · 最后由 Cger007 回复于 2016年12月01日 · 1742 次阅读

.html.erb 文件中有如下代码,我想控制当 value.custom_field.id 的值为 171 时让标签不可编辑,custom_field_tag_with_label 这个方法是在 helper 文件夹中写的,里面嵌套了一些方法, :disabled => true 是我自己加的,不好用

<% @project.custom_field_values.each do |value| %>
    <%logger.info"#{value.custom_field.id}"%>

    <% unless value.custom_field.id != '171' %>
   <p><%= custom_field_tag_with_label :project, value , :disabled => true %></p>
<% end %>

=============================================================================================

这种的我可以实现
<p><%= f.text_field :name, :required => true, :disabled => @project.admin_frozen?, :size => 60 %></p>

custom_field_tag_with_label 这个方法你没接受传 option 吧。你可以吧这个方法的定义拿出来。否则也分析不到。

#1 楼 @hging #### 以下是,不过我搞出来 O(∩_∩)O 哈哈~

  # Return custom field tag with its label tag
  def custom_field_tag_with_label(name, custom_value,options={})
    custom_field_label_tag(name, custom_value, options) + custom_field_tag(name, custom_value)
  end
···
需要 登录 后方可回复, 如果你还没有账号请 注册新账号