ruby-on-rails - Rails 3表单助手: UTF8 and other hidden fields

标签 ruby-on-rails forms views

风景:

<%= form_for :blog_post do |f| %>
  <ul>
    <li>
      <%=  f.label :title %>
      <%= f.text_field :title, :type => 'text', :id => 'title', :size => '', :limit => '255' %>
    </li>

  </ul>
<% end %>

<!DOCTYPE html> 
    <html> 
    <head> 
      <title>LevihackwithCom</title> 
      <script src="/javascripts/prototype.js?1285902540" type="text/javascript"></script> 
      <script src="/javascripts/effects.js?1285902540" type="text/javascript"></script> 
      <script src="/javascripts/dragdrop.js?1285902540" type="text/javascript"></script> 
      <script src="/javascripts/controls.js?1285902540" type="text/javascript"></script> 
      <script src="/javascripts/rails.js?1285902540" type="text/javascript"></script> 
      <script src="/javascripts/application.js?1285902540" type="text/javascript"></script> 
      <meta name="csrf-param" content="authenticity_token"/> 
      <meta name="csrf-token" content="UnhGSHHanJHfgJYhnksqJ1bfq3W+QEU2GJqLAMs2DmI="/> 
    </head>

    <body> 

    <form accept-charset="UTF-8" action="/blog_post/new" method="post">
      <div style="margin:0;padding:0;display:inline">
        <input name="utf8" type="hidden" value="&#x2713;" />
        <input name="authenticity_token" type="hidden" value="UnhGSHHanJHfgJYhnksqJ1bfq3W+QEU2GJqLAMs2DmI=" />
      </div> 
      <ul> 
        <li> 
          <label for="blog_post_title">Title</label> 
          <input id="title" limit="255" name="blog_post[title]" size="" type="text" /> 
        </li> 
      </ul> 
    </form> 

    </body> 
    </html> 

我在和表单助手混在一起。上面的代码显示了我的 View 文件及其生成的HTML。充满内联CSS的可怕div充满了我没有明确要求的隐藏字段,这是怎么回事?哪些设置会导致生成这些字段?有没有办法删除内联CSS?

最佳答案

这些字段以rails形式生成,以提高鲁棒性:
utf8=✓
utf8隐藏字段可确保将表单值提交为UTF8。它通过确保提交表单中的至少一个UTF8字符来做到这一点。大多数浏览器都遵循文档的编码,并且将表单值视为相同,但是有一种浏览器存在问题。因此,utf8会得到一个选中标记。

authenticity_token可以防止跨站点请求伪造。

将为复选框生成类似的隐藏字段。由于未选中的复选框不会提交到服务器,因此隐藏字段可确保提交“0”(假)值:当您具有多个复选框时,这很有用。

这些字段以内联样式包装在div中,以确保它们不会破坏布局。您可以在表单帮助程序源代码中查找并覆盖它,但是我不建议您这样做:它具有最小程度的侵入性,并且存在该原因。

关于ruby-on-rails - Rails 3表单助手: UTF8 and other hidden fields,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3836462/

相关文章:

jquery - ckeditor图像对齐中心自定义

jquery 移动表单值打印为文本

SQL 选择列名作为值

ruby-on-rails - Ruby on Rails : Get next item in model

ruby-on-rails - 在 Rails 中初始化 "new users"

sql - Rails - PostgreSQL bool where 语句,错误 : operator does not exist: boolean = integer

javascript - Magnific-Popup 不允许其自身的弹出窗口获得焦点

views - 在 Couchbase 或 N1QL 中,如何检查数组中的值是否匹配

ruby-on-rails - 我可以以只读模式打开 rails 控制台吗?

ruby-on-rails - 在heroku上运行rails应用程序,在/public文件夹中看不到静态页面