ruby-on-rails - 有条件地从 rails 表单中排除字段

标签 ruby-on-rails ruby-on-rails-3 forms ruby-on-rails-3.1

我想用它实现的功能是根据用户当前正在进行的操作具有不同的字段。

通用脚手架将表单捆绑到一个部分中,并在新建编辑 操作中呈现它。在典型的注册案例中,人们可能不希望每次更新配置文件时都更新密码。过去我用来解决这个问题的一种方法是为 newedit 创建单独的表单;仅包括新密码。显然,大多数领域都是重复的。有没有办法保留部分但忽略(从而不更新)每个操作表单上的某些字段?

最佳答案

假设您正在为用户模型构建表单。因此在 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/

相关文章:

ruby-on-rails - 范围不与其他范围冲突

ruby-on-rails - 错误 : Unknown provider: aProvider <- a

ruby-on-rails-3 - Rails - 表单字段之间出现换行符并出现错误

c# - 如何在 2 个类(class)之间访问 1 个计时器?

php - 提交后如何将值保留在其字段中?

java - 如何更新存储图像的 JLabel

ruby-on-rails - 在rails中合并两个/三个记录

ruby-on-rails - 向 rails 路由资源添加额外的参数

css - 在我的 Bootstrap/Rails 应用程序中,我应该将自定义导航栏 CSS 添加到哪个文件?

jquery - 一个很好的例子,rails respond_to 如何处理模型验证错误和 ajax 表单