Rails:ActionView :: Template :: Error(NilClass的未定义方法`model_name’:Class):

可能重复:
MetaSearch“未定义的方法`model_name’用于NilClass:Class”用于全局条形搜索

当我尝试访问用户的个人资料或个人post(/ posts / 1)时,这是我使用更新的代码时出现的错误。 奇怪的是它试图访问不同的部分,因为它是一个没有任何喜欢的新用户。

我得到的代码完全如我在以下用户使用的教程中所示。 对于跟随用户的用户来说,它可以正常工作,但我已经设置好了尝试与喜欢post的用户一起工作。

ActionView::Template::Error (undefined method `model_name' for NilClass:Class): 1:  { :method => :delete }, 3: :remote => true) do |f| %> 4: 
app/views/users/_unlike.html.erb:1:in `_app_views_users__unlike_html_erb___769256097635878617_2160255900__1293121959744503098' app/views/users/_like_form.html.erb:6:in `_app_views_users__like_form_html_erb___3308190581058867471_2162903180_52867338942162503' app/views/posts/show.html.erb:7:in `_app_views_posts_show_html_erb___3188789470217885182_2183453320__3624460432667345580'

这里有几乎所有东西的馅饼,如果我错过了什么,请告诉我。 我真的很感激能够让这个工作变得有意义。

http://pastie.org/1824955

没有任何值为@post变量赋值。 您尚未发布包含上述任何部分的视图的代码,但我假设您正在迭代@posts的post,可能@posts每个post分配给名为post的局部变量。 你可能应该将该post变量传递给partial作为local ..., :locals => {:post => post} ,然后引用post ,而不是partials中的@post