我是 RoR 的新手,目前正在使用我的第一个应用程序。
我有 3 个模型:Event、Place 和 Order
class Event < ActiveRecord::Base
attr_accessible :name
has_many :places
end
class Place < ActiveRecord::Base
attr_accessible :number, :price, :event_id
has_one :order
belongs_to :event
end
class Order < ActiveRecord::Base
attr_accessible :place_number, :price, :place_id
belongs_to :place
end
路线,顺便说一句,当我深深嵌套它时,至少新动作没有出错。
resources :events do
resources :places
end
resources :places do
resources :orders
end
我在创建新订单时遇到了问题。错误是
ActiveRecord::RecordNotFound in OrdersController#new
Couldn't find Event without an ID
这是我的 OrdersController(not full) 导致它在我的代码的第一行失败
class OrdersController < ApplicationController
def new
@event = Event.find(params[:id])
end
end
再说一遍我应该做的。我通过获取有关用户点击的地点和事件的信息来创建新订单。所以我认为我需要在 NEW 动作中以及稍后在 CREATE 中使用这些变量来获取有关事件和地点的信息。