0

私は 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 に不慣れで、何かが見落としているようです。

4

2 に答える 2

3

問題の原因となっているコードのセクションが実際に含まれているとは思いませんが、変更を投稿したエラーに基づいています。

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

これに

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

問題の解決に役立つはずです。

また、次のことを確認してください。

resources :notes

あなたの routes.rb ファイルにあります

于 2013-07-30T21:28:11.357 に答える
0

notes_controller.rb の 12 行目はそこにありますか、それとも単なるメモですか? もしそうなら、それを削除するか、少なくともコメントアウトしてください。

また、エラーはファイルと行番号を指していますか? もしそうなら、それと関連する行を追加できますか

于 2013-07-30T21:15:23.033 に答える