我有 2 个具有多对多关联的模型(一个事件有很多产品,产品有很多事件),我正在尝试将一个产品添加到一个事件中。我已经使用单表继承来实现系统需要处理的多种类型的产品,这就是为什么下面的错误中Lighting
是型号名称而不是产品的原因。我的控制器中有以下方法可以将产品添加到事件中,但是会出现以下错误:
NoMethodError in AddeventController#add
undefined method `each' for #<Lighting:0x007fd4bc798c70>
app/controllers/addevent_controller.rb:5:in `add'
我的动作看起来像:
def add
@event = current_event
product = Product.find(params[:id])
if @event.update_attribute(:products, product) #This is line 5
format.html {redirect_to @event, notice: "Product added to event"}
end
end
Current_event 只是一种从会话中提取事件 id 的方法。
那么怎么了?