ruby-on-rails-3 - 检测表单是否使用 ruby​​ on rails 提交?

标签 ruby-on-rails-3 forms submit

有没有办法检测表单是否提交?我试图根据自定义验证设置一个类,如下例所示,这可能吗?

  .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 前缀),您可以检查 :user存在于 params .

... if params.include?(:user)

如果出于某种原因(例如来自路线)params[:user]即使对于 GET 也已经有了值(value)请求,您可以查找具有值的特定表单字段。例如,您可以添加一个隐藏字段
<%= f.hidden_field :some_field, :value => true %>

并检查 在你的情况下
... if params[:user].include?(:some_field)

您也可以检查请求是否通过 POST方法
... if request.post?

这也适用于其他方法,例如 request.put?对于更新方法。

关于ruby-on-rails-3 - 检测表单是否使用 ruby​​ on rails 提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12100295/

相关文章:

ruby-on-rails - 使用rails3模拟外部API对象

html - Bootstrap : align form labels in different rows

javascript - 将文本插入 iframe 表单字段并提交

javascript - 让javascript取消jsp页面中的提交

linq - 如何在 linq 中删除和重新插入实体?

ruby-on-rails-3 - 本地跳转错误 find_each 上没有给出 block (yield)错误

ruby-on-rails - 如何强制 Rails 创建指向 www 子域的链接?

ruby-on-rails - 如何在 Rails 3 link_to 语句中包含完整路径?

c# - 类型为 'txtUserName' 的控件 'TextBox' 必须放置在带有 runat=server 的表单标记内

发送带文件附件的邮件的php脚本