有没有办法检测表单是否提交?我试图根据自定义验证设置一个类,如下例所示,这可能吗?
.control-group{ :class => ("error" if form_is_submitted ) }
现在尝试:
.control-group{ :class => ("error" if params[:user][:profile_attributes][:gender] == nil) }
如果未提交表单,则会失败,因为参数为 nill 并引发错误
有没有办法检测表单是否提交?我试图根据自定义验证设置一个类,如下例所示,这可能吗?
.control-group{ :class => ("error" if form_is_submitted ) }
现在尝试:
.control-group{ :class => ("error" if params[:user][:profile_attributes][:gender] == nil) }
如果未提交表单,则会失败,因为参数为 nill 并引发错误
如果您的表单数据是通过具有(都具有前缀)name等属性的字段提交的,您可以检查是否存在于.user[profile_attributes][gender] user:userparams
... if params.include?(:user)
如果出于某种原因(例如来自路由) params[:user]即使对于请求也已经有了值GET,您可以查找具有值的特定表单字段。例如,您可以添加一个隐藏字段
<%= f.hidden_field :some_field, :value => true %>
并在您的情况下检查它
... if params[:user].include?(:some_field)
您也可以检查请求是否通过该POST方法
... if request.post?
这也适用于其他方法,例如request.put?更新方法。