Ruby on rails AJAX按钮不工作?

Ruby on rails AJAX按钮不工作?,ruby-on-rails,ruby,ajax,Ruby On Rails,Ruby,Ajax,我目前正在尝试使用Rails应用程序获得AJAX最喜欢的按钮。我用这个来处理这件事。出于某种原因,在控制台中,我得到的错误是: Completed 500 Internal Server Error in 132ms RuntimeError - Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id: 这里是Post视图,其中呈现Post

我目前正在尝试使用Rails应用程序获得AJAX最喜欢的按钮。我用这个来处理这件事。出于某种原因,在控制台中,我得到的错误是:

  Completed 500 Internal Server Error in 132ms

  RuntimeError - Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id: 
这里是Post视图,其中呈现Post_项的部分

  <%= render "shared/fave-form", post_item: post_item %>
这是投票的路线

  resources :posts do
    member do
       post :create
       post :vote_up
       post :vote_against
    end
  end

我认为您的
post_item
变量在代码中的某个地方是
nil
,但不幸的是,我没有足够的信息来发现问题所在……您还需要什么其他信息?哪一行引发了此错误;相应控制器的动作;此外,
@变量
始终在控制器的操作、视图和部分之间共享;-)和routes.rb,因为还不清楚投票反对他们的行动,投票支持他们的行动。在编辑中添加了他们。
  $(".post-fave-button").html("<%= escape_javascript(render :partial=>"shared/fave-form", locals: {post_item: @post_item}).html_safe %>);
   def vote_up
      @post = Post.find(params[:id])
      if current_user
        current_user.vote_for(@post) 
        respond_to do |format|
          format.html { redirect_to @post }
          format.js  
          render "shared/toggle"
        end
      else
        flash[:error] = "You Must be logged in to like a post"
      end
   end
  resources :posts do
    member do
       post :create
       post :vote_up
       post :vote_against
    end
  end