I need to limit my rich many-to-many association table to only one association per unique par. (rails).
That means i want terminals (model 1) and subscriptions (model 2) to have one custom_price (rich join) not any more than that.
How is this done most elegantly?
So far i have done:
def new_custom_price
@terminal_id = params[:terminal_id]
@subscription_id = params[:subscription_id]
@custom_price = CustomPrice.find_or_initialize_by_terminal_id_and_subscription_id( @terminal_id, @subscription_id)
render action: 'custom_price'
end
def create_custom_price
@terminal_id = params[:terminal_id]
@subscription_id = params[:subscription_id]
@custom_price = CustomPrice.new(custom_price_params.merge( :terminal_id => @terminal_id, :subscription_id => @subscription_id))
respond_to do |format|
if @custom_price.save
format.js { render action: 'add_custom_price' }
else
format.js { }
end
end
end