可能重复:
MetaSearch“未定义的方法`model_name';对于NilClass:Class;用于全局酒吧搜索
这是我在尝试转到用户的个人资料或个人帖子(/posts/1(时使用更新的代码时遇到的错误。奇怪的是,它试图访问不同的partial,因为它是一个没有任何赞的新用户。
我已经得到了与教程中所示完全相同的代码,我曾与以下用户一起做过这件事。它适用于关注用户的用户,但我已经设置了它,试图处理喜欢帖子的用户。
ActionView::Template::Error (undefined method `model_name' for NilClass:Class):
1: <%= form_for(current_user.appreciations.find_by_liked_id(@user),
2: :html => { :method => :delete },
3: :remote => true) do |f| %>
4: <div class="actions"><%= f.submit "Unlike" %></div>
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
Nothing为@post
变量赋值。您还没有发布包含上述任何部分的视图的代码,但我假设您正在@posts
中迭代这些帖子,可能会将每个帖子分配给一个名为post
的局部变量。您应该将该post
变量作为局部..., :locals => {:post => post}
传递给分部,然后在分部中引用post
,而不是@post
。