现在有 3 个 model: category
, work
, photo
category: has_many :works
works : has_many :photos, belongs_to :category
photo : belongs_to :works
我在category
和work
两个 model 中都添加了 permalink 字段,为用作专门的输入 url 地址。
现在 creat category 和 work 都没问题,但是当添加 photo 到 work 中,报错。
添加 photo 的地址:
http://localhost:3000/admin/photos/new?work_id=the-maxogory
报错内容
No route matches {:action=>"show", :controller=>"admin/works", :id=>nil}
#log
ActionController::RoutingError (No route matches {:action=>"show", :controller=>"admin/works", :id=>nil}):
app/controllers/admin/photos_controller.rb:14:in `create'
我的 photos_controller:
def create
@photo = Photo.new(params[:photo])
if @photo.save
redirect_to admin_work_path(@photo.work), notice: "Successfully uploaded."
else
render "new"
end
end