@order = inventory.order.build(params[:order])
should be
@order = inventory.orders.build(params[:order])
On Freitag, 6. Mai 2011 at 22:50, Jens Fahnenbruck wrote:
I'm not sure if I understood you correctly. I assume you have a route like this:
>
> resources :inventories do
> resources :orders
> end
>
> If so you could use a before filter to automatically load the inventory in
> your OrdersController before every action like this:
>
> class OrdersController < ApplicationController
> def inventory
> @inventory ||= Inventory.find(params[:inventory_id])
> end
> before_filter :inventory
>
> def new
> @order = inventory.orders.build
> end
>
>
> def create
> @order = inventory.order.build(params[:order])
>
> if @order.save
> flash[:success] = 'Order created successfully'
> logger.debug " order saved successfully"
> redirect_to inventory
> else
> logger.debug " order not saved"
> render :new
> end
> end
> end
>
> As you can see I simplified your create Action, since you don't use anything
> else than html in the response you can skip the `respond_to`. `redirect_to
> inventory` is short for `redirect_to inventory_path(inventory)`, and `render
> :new` is a shortcut for `render :action => 'new'`.
>
> I hope I could help, if not please don't hesitate to ask again.
>
> Regards, Jens
> On Freitag, 6. Mai 2011 at 22:29, Mlle wrote:
> > def new
> > @order = @inventory.orders.build
> > end
> >
> >
> > def create
> > @order = Order.new(params[:order])
> > @order.inventory_id = params[:inventory_id]
> >
> > respond_to do |format|
> > if @order.save
> > flash[:success] = 'Order created successfully'
> > logger.debug " order saved successfully"
> > format.html { redirect_to
> > inventory_path(@order.inventory_id) }
> > else
> > logger.debug " order not saved"
> > format.html { render :action => "new" }
> > end
> > end
> >
> > end
> >
> > def get_inventory
> > @inventory = Inventory.find(params[:inventory_id])
> > end
>
>
--
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.