为什么submit_tag会生成带有name="commit"属性的HTML?

use*_*003 5 forms ruby-on-rails actionview

根据rails文档,使用submit_tag助手将生成类似的内容

\n\n
submit_tag\n# => <input name="commit" type="submit" value="Save changes" />\n
Run Code Online (Sandbox Code Playgroud)\n\n

它包括财产name="commit"

\n\n
    \n
  • 为什么这会被包括在内?它是某种标准吗?尝试理解“提交”在这种情况下的含义

  • \n
  • 我注意到点击提交后它被包含在params控制器内部。这是最近改变的吗?我认为只包含 url 参数和 POST/PUT 数据?

    \n\n

    @参数

    \n\n

    => {“utf8”=>“\xe2\x9c\x93”,“authenticity_token”=>“4q3u+mfMi57YbchTAzaCI7WHmzfZJrLbTZ17aVwfq9uw8aMU1B3PBR13qfipgN6lbRoi0dywFU9i1AbJ0GP7UA==”,“电子邮件”=>“foo@example.co”, “密码”=>“(已编辑)", "dest"=>"", "commit"=>"登录", "controller"=>"sessions", "action"=>"log_in"}

  • \n
\n\n

谢谢!

\n

God*_*a74 3

我相信这只是一个 Rails 的事情。name=xxxxHTML5 标准允许您自己提供一个,您也可以使用 Rails 来完成。简而言之,name="commit"如果您需要做类似这个人的事情并确保在参数中传递某些内容,这会有所帮助。