微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby – Rails根据操作隐藏表单字段

我正在创建一个具有多个字段的表单,其中一个字段应该具有认值,如果正在创建资源,则该字段不可见.但如果正在编辑,则应显示该字段.所以我尝试这样的事情:
<%= form_for(@task) do |f| %>
    <div class="field" id="v_field">
    <%= f.label :v_field,"Always visible field." %>
    <%= f.text_field :status %>
  </div>
  <% if params[:action] != "new" %>
    <div class="field" id="default_field">
    <%= f.label :default_field,"Default field (should be invisible for new resources only)." %>
    <%= f.text_field :status %>
  </div>
  <% end
<% end %>

但它不起作用.
此外,我试图改变这样的控制器设置:

format.html { :except => [:default_field] }

但它不起作用.

请告诉我,在这种情况下我应该使用什么比较?
谢谢.

解决方法

如果您遵循正常的Rails约定,您将通过任务控制器中的new或edit方法显示此表单.

对于new,创建一个新的(空)任务,用于编辑从数据库获取的现有任务.

然后一个简单的测试就是查看任务是否还有id.

<% if @task.id %>
  ...
<% end %>

你最好看一下你操纵对象的状态,而不是看用户到达那里的动作.

原文地址:https://www.jb51.cc/ruby/264511.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐