0
私のプロジェクトに問題があります。私は定義されていないメソッドを持っている例外が発生します。.erbファイルのRuby on Railsで未定義のメソッド
私は2つのエンティティの書籍とサブジェクトを持っています。ここにはBook_controllerのコードと例外が現れるerbファイルがあります。
class BookController < ApplicationController
def list
@books = Book.all
end
def show
@book = Book.find(params[:id])
end
def new
@book = Book.new
@subjects = Subject.all
end
def book_params
params.require(:books).permit(:title, :price, :subject_id, :description)
end
def create
@book = Book.new(book_params)
if @book.save
redirect_to :action => 'list'
else
@subjects = Subject.all
render :action => 'new'
end
end
def edit
@book = Book.find(params[:id])
@subjects = Subject.all
end
def book_param
params.require(:book).permit(:title, :price, :subject_id, :description)
end
def update
@book = Book.find(params[:id])
if @book.update_attributes(book_param)
redirect_to :action => 'show', :id => @book
else
@subjects = Subject.all
render :action => 'edit'
end
end
def delete
Book.find(params[:id]).destroy
redirect_to :action => 'list'
end
def show_subjects
@subject = Subject.find(params[:id])
end
end
とshow_subjects.html.erbファイル:
<h1><%= @subject.name -%></h1>
<ul>
<% @subject.books.each do |c| %>
<li><%= link_to c.title, :action => "show", :id => c.id -%></li>
<% end %>
</ul>
メッセージがあります:
Showing E:/Ruby/library/app/views/book/show_subjects.html.erb where line #4 raised:
undefined method `books' for #<Subject id: 1, name: "Physics">
私はRubyで初心者です、それは私の最初のプロジェクトだと私はありません持っていますアイデアが間違っている助けてくれてありがとう。