我想用它实现的功能是根据用户当前正在进行的操作具有不同的字段。
通用脚手架将表单捆绑到一个部分中,并在新建 和编辑 操作中呈现它。在典型的注册案例中,人们可能不希望每次更新配置文件时都更新密码。过去我用来解决这个问题的一种方法是为 new 和 edit 创建单独的表单;仅包括新密码。显然,大多数领域都是重复的。有没有办法保留部分但忽略(从而不更新)每个操作表单上的某些字段?
最佳答案
假设您正在为用户模型构建表单。因此在 Controller 中您将拥有
def new
@user = User.new
.....
end
def edit
@user = User.find(params[:id])
....
end
在表单中部分使用
<% if @user.new_record? %>
<%= f.field_type :field_name %>
<% end %>
这不会在编辑/更新期间呈现该字段。
关于ruby-on-rails - 有条件地从 rails 表单中排除字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7848187/