未定义的方法“ simple_form_for”

时间:2019-01-20 17:48:32

标签: ruby-on-rails ruby production-environment

我根据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

有人可以在这里提出什么问题吗?请让我知道是否需要更多信息。

1 个答案:

答案 0 :(得分:0)

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