Ruby on rails:start_form_tag方法

Dav*_*ill 3 ruby ruby-on-rails

我正在尝试在轨道上学习红宝石.我一直在阅读一个教程,但我已经卡住了.

它让我使用start_form_tagend_form_tag围绕输入表单.但是,当我访问该页面时,我得到了undefined method 'start_form_tag' for #<ActionView::Base:0x2556020>

在本教程中,他们解释说这两行被翻译成<form action="/book/create" method="post"></form>.因此,我试着改为那些.表单出来了,但是当我提交表单时,我收到此错误:ActionController::InvalidAuthenticityToken in BookController#create

所以,

  1. 我需要做些什么才能让start_form_tag正确翻译?
  2. 这会导致InvalidAuthenticityToken错误吗?

kle*_*lew 9

当我开始学习Rails时,我遇到了同样的问题.您有旧Rails版本的教程.start_form_tag不再使用.我认为学习Rails的最佳地方是Rails指南

那么,你现在的问题.你可以添加这样的表单:

<% form_for @book do |f| %>
  <%= f.label :title %>
  <%= f.text_filed :title %>
  ...
  <%= f.submit 'Create' %>
<% end %>
Run Code Online (Sandbox Code Playgroud)