未定义的方法“simple_form_for”

Undefined method `simple_form_for'

我根据 Hartl 的教程创建了一个 ToDoList,并按照 guide 添加了一个标记系统。我一直关注到第 10 节,他们要求我将我的 new.html.erb 文件修改为源代码中显示的代码。

<div class = 'col-md-8 offset-2'>
  <h1 class = "text-center">New Blog Post</h1>
  <%= simple_form_for @post, url: posts_path do |f| %>
    <%= f.input :title %>
    <%= f.input :content %>
    <%= f.input :tag_ids, as: :select, collection: Tag.order(:name), label_method: :name, input_html: {multiple: true} %>
    <%= f.submit "Next", class: 'btn btn-lg btn-primary float-right' %>
  <% end %>
</div>

由于我的 ToDoList 显示 static_pages 上的任务,因此我临时更改了 micropost_form.html.erb。

变更前:

<%= form_for(@micropost) do |f| %>
  <%= render 'shared/error_messages', object: f.object %>
  <div class="field">
    <%= f.text_area :content, placeholder: "Add new task..." %>
  </div>
  <%= f.submit "Add Task", class: "btn btn-primary" %>
<% end %>

变更后:

<%= simple_form_for @micropost, url: microposts_path do |f| %>
  <%= render 'shared/error_messages', object: f.object %>
  <div class="field">
    <%= f.text_area :content, placeholder: "Add new task..." %>
    <%= f.input :tag_ids, as: :select, collection: Tag.order(:name), label_method: :name, input_html: {multiple: true} %>
  </div>
  <%= f.submit "Add Task", class: "btn btn-primary" %>
<% end %>

这产生了错误。

NoMethodError in StaticPages#home

undefined method `simple_form_for' for #<#<Class:0x00007f8d6c84d4f0>:0x00007f8d6c833230>
Did you mean?  simple_format

谁能指出这里可能出了什么问题?如果需要更多信息,请告诉我。

解决此类问题的最常见方法是重启服务器。您应该在安装 gem 之后始终执行此操作。你试过这个吗?