它是Rails的方式来使用表单辅助标记?(Is it the Rails way to use fo

2019-10-18 18:16发布

我读的形式佣工指南http://guides.rubyonrails.org/form_helpers.html ,但我不知道我是否真的需要写我的网页这样..

我已经写在这样一个HTML表单new.html.erb

<form action="/posts" method="post">
  <label for="title">Test</label>
  <input id="title"/>
  <input type="submit" value="submit"/>
</form>

(该posts页面是从入门指南)

当我提交请求时,服务器抛出ActionController::InvalidAuthenticityToken例外。

所以,我把它改成

<%= form_for :post, url: {action: "create"} do |f| %>
  <label for="title">Test</label>
  <input id="title"/>
  <input type="submit" value="submit"/>
<% end %>

现在我有相同的形式,除了现在服务器接受请求。

是形式佣工发展Rails的意见形式的正确方法?

Answer 1:

一般情况下,是的。

“Rails的方式”将有你重写此为:

<%= form_for Post.new do |f| %>
  <%= f.label :title, "Test" %>
  <%= f.input :title %>
  <%= f.submit %>
<% end %>

由该导轨上所有的非GET请求的使用CSRF保护防止您的使用直HTML标签的尝试。 您必须使用Rails的形式标记或删除CSRF保护,以避免错误。



文章来源: Is it the Rails way to use form helper markup?