0

可能重複:
MetaSearch 「undefined method `model_name' for NilClass:Class」 for global bar search的Rails:::的ActionView ::模板錯誤(未定義的方法`MODEL_NAME」的NilClass:類):

這是我得到的錯誤當我嘗試去用戶的個人資料或個人帖子(/ posts/1)時使用我的更新代碼。奇怪的是,它試圖訪問不同的部分,因爲它沒有任何喜歡的新用戶。

我得到的代碼完全如我在以下用戶所做的教程中所顯示的那樣。它適用於追蹤用戶的用戶,但我已將其設置爲嘗試處理喜歡帖子的用戶。

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

回答

0

沒有分配一個值到@post變量。您尚未發佈包含上述任何部分的視圖的代碼,但我假設您正在迭代@posts中的帖子,可能會將每個帖子分配給稱爲post的局部變量。您可能應該將post變量傳遞給局部變量..., :locals => {:post => post},然後在局部變量中引用post而不是@post

+0

我已經在上面添加了用戶的展示視圖,很遺憾,當我發佈這個問題的時候已經很晚了。我仍然對我將每個分配給一個名爲post的局部變量的位置感到困惑?我在哪裏放置:locals =>代碼將post變量作爲本地傳遞給partials? – 2011-04-22 22:42:32

+0

我試着加入\t <%= render'users/like_form',:locals => {:post => post} if user_signed_in? %>我的_post.html.erb但變量不被傳回:( – 2011-04-22 22:49:28

+1

不應該是<%= render:partial =>'users/like_form',...? – 2011-04-23 01:51:29

相關問題