2013-07-30 127 views
0

我對Ruby on Rails很新,所以原諒我,如果這個錯誤是非常業餘的。我試圖創建一個小網站的一部分,人們可以記筆記,並記錄作者,文本和主題。當我嘗試訪問它在本地主機上,我得到以下錯誤:Ruby on Rails - 未定義的局部變量或方法

line #25 raised: 
undefined local variable or method `note_path' for #<#<Class:0x0000000be44598>:0x00000008648ce8> 
25:       <li><%= link_to 'Create Notes', note_path %></li> 

下面是相關文件

new.html.erb: 
    1 <%= form_for :note, url: posts_path do |f| %> 
    2 <p> 
    3  <%= f.label :subject %><br> 
    4  <%= f.text_field :subject %> 
    5 </p> 
    6 
    7 <p> 
    8  <%= f.label :note %><br> 
    9  <%= f.text_area :note %> 
10 </p> 
11 
12 <p> 
13  <%= f.submit %> 
14 </p> 
15 <% end %> 

show.html.erb: 
    1 <p> 
    2 <strong>Subject:</strong> 
    3 <%= @note.subject %> 
    4 </p> 
    5 
    6 <p> 
    7 <strong>Note:</strong> 
    8 <%= @post.note %> 
    9 </p> 

notes_controller.rb: 
1 class NotesController < ApplicationController 
2 def new 
3 end 
4 def show 
5  @note = Note.find(params[:id]) 
6 end 
7 def create 
8  @note = Note.new(params[:note].permit(:subject, :note)) 
9  
10  @note.save 
11  redirect_to @note 
12 end 
13 note GET /notes/:id(.:format) notes#show 
14 private 
15  def note_params 
16  params.require(:note).permit(:subject, :note) 
17  end 
18 end 

notes.rb: 
    1 class Notes < ActiveRecord::Base 
    2 attr_accessible :note, :subject 
    3 end 

如果有人可以幫幫忙,我想明白了很多的代碼。我覺得這是一個非常簡單的初學者問題,但我只是對RoR不熟悉,而且似乎已經在裂縫中滑落。

+1

我想你錯過了你的表演方法結束的「結束」。 –

+0

我當然是,謝謝你指出。我會將其添加到主要評論中。 – Woodsman

回答

0

是notes_controller.rb中的第12行還是隻有一個註釋?如果是這樣,請刪除它,或者至少註釋掉它。

另外,你的錯誤指向一個文件和行號?如果是的話你能添加它和相關行(S)

+0

謝謝,我評論說,但不幸的是,我仍然面臨着錯誤。另外,我還會將引發錯誤的那一行添加到主帖子中。最初忘了這麼做。 – Woodsman

+0

那是第25行的文件?你能包括'$ rake routes'的輸出嗎? – dax

+0

沒有任何路線與筆記有關 - 我覺得我已經犯了一些非常基本的錯誤,從而阻止它們出現。如果沒有人處理筆記,你還會喜歡我發佈結果嗎? – Woodsman

3

不認爲我你實際上包含導致該問題的代碼段,但基於您發佈更改錯誤:

<li><%= link_to 'Create Notes', note_path %></li> 

至此

<li><%= link_to 'Create Notes', new_note_path %></li> 

應該有助於解決您的問題。

同時,確保

resources :notes 

在你的routes.rb文件

相關問題