Ruby on rails 在Hartl'中使用partials;s Rails教程,未定义变量方法';对象';

Ruby on rails 在Hartl'中使用partials;s Rails教程,未定义变量方法';对象';,ruby-on-rails,ruby,Ruby On Rails,Ruby,我正在阅读Hartl的Rails教程,在第10章中遇到了一个相当令人沮丧的问题 <%= form_for(@micropost) do |f| %> <%= render 'shared/error_messages', object: f.object %> <div class="field"> <%= f.text_area :content, placeholder: "Compose new micropost..." %>

我正在阅读Hartl的Rails教程,在第10章中遇到了一个相当令人沮丧的问题

<%= form_for(@micropost) do |f| %>
  <%= render 'shared/error_messages', object: f.object %>
  <div class="field">
    <%= f.text_area :content, placeholder: "Compose new micropost..." %>
  </div>
  <%= f.submit "Post", class: "btn btn-large btn-primary" %>
<% end %> 
如果我通过分部传递'object'作为参数,它应该有效吗


谢谢

如果我还记得Hartl教程的话,有几个地方你可以称之为_errorspartial。。。在新模板和编辑模板中。你把
object:f.object
放在两个地方了吗?甚至有一点,教程要求您将整个表单移动到一个单独的部分,该部分(本身)称为_errorpartial。。。如果您已经达到了这一点,您应该检查您的_formpartial是否使用
对象调用了_errorpartial:f.object
您能给我看一下控制器的
#与您上面列出的表单相关的新的
操作吗?@Anthony添加了控制器是另一篇文章的一部分还是独立的?它属于一个用户,这就是全部
ActionView::Template::Error:
       undefined local variable or method `object' for #<#<Class:0x00000106cad990>:0x00000103395f18>
<% if object.errors.any? %>
  <div id="error_explanation">
    <div class="alert alert-error">
      The form contains <%= pluralize(object.errors.count, "error") %>.
    </div>
    <ul>
      <% object.errors.full_messages.each do |msg| %>
        <li>* <%= msg %></li>
      <% end %>
    </ul>
  </div>
<% end %>
class MicropostsController < ApplicationController
  before_action :signed_in_user
  def create
    @micropost = current_user.microposts.build(micropost_params)
    if @micropost.save
      flash[:success] = "Micropost created!"
      redirect_to root_url
    else
      render 'static_pages/home'
    end
  end

  def destroy
  end

  private

    def micropost_params
      params.require(:micropost).permit(:content)
    end
end
def home
    @micropost = current_user.microposts.build if signed_in?
  end