我正在尝试创建一个包含许多电影的导演列表(每部电影属于一个导演):
class Director < ActiveRecord::Base
attr_accessible :director
has_many :movies
end
class Movies < ActiveRecord::Base
attr_accessible :director_id, :title, :rating, :boxoffice
belongs_to :director
end
我的架构如下所示:
ActiveRecord::Schema.define(:version => 20130312174246) do
create_table "directors", :force => true do |t|
t.string "director"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "movies", :force => true do |t|
t.integer "director_id"
t.string "title"
t.string "rating"
t.integer "boxoffice"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
end
在 director 控制器中显示:
def show
@director = Director.find(params[:director_id])
@movies = @director.movies
respond_to do |format|
format.html # show.html.erb
format.json { render json: @director }
end
end
我最终想点击一位导演并查看他或她导演的所有电影,以及电影各自的收视率和票房收入。目前我收到此错误:找不到没有 ID 的 Director
Rails 的新手,所以我不确定如何解决这个问题。这是我想做的正确设置吗?如果没有,我应该如何改变它?谢谢!