Tag: 实体关系

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

在Rails中防止N + 1个查询

我已经看到了一些在Rails中调用ActiveRecord的find方法时传递一个:include哈希值的例子。 但是,我还没有看到任何关于这是否可以通过关系方法的例子。 例如,假设我有以下内容: def User :user_favorites end def Favorite :user_favorites end def UserFavorite < ActiveRecord::Base belongs_to :user belongs_to :favorite end 我看到的所有示例都显示如下代码: User.find(:all, :include => :favorite) 但我没有看到任何关于使用关系的例子。 相反,我可以做这样的事情吗? User.favorites(:include => :user)