如果动作是编辑,则不显示表单字段
我有rails表单,使用字段列表呈现部分以创建新用户。 我也用于渲染编辑表单的那些字段。 我想知道是否有可能不在编辑表单上显示特定字段(即部门),因为我不想让用户选择更改部门?
你可以坚持使用吗? 方法,以确保它不是一个将被插入的新记录,甚至使用new_record? 如果记录未在数据库“新记录”中持久存在,则返回true的方法。 ex :::
<%= f.text_field :department if @user.persisted? %> or <%= f.text_field :department unless @user.new_record? %>
还有一种方法是检查操作本身,如果你从不同的视图渲染部分并且你想将它限制在特定的控制器上,它也可以让你控制控制器,它们存储在::
params[:controller] -->> contains the name of the controller ex. UserController that you just hit on params[:action] -->> contains the action name ex. new or edit
只需填写您的表格:
<%= f.text_field :department unless @user.new_record? %>
如果编辑了params [:action],则不显示该字段可能是使用display none
它可以通过多种方式完成。
我通常喜欢这样做
if !@user.new_record? # department field. end