I'm trying to build an object using a wicked wizard. One part of the
walkthrough
<https://github.com/schneems/wicked/wiki/Building-Partial-Objects-Step-by-Step>on
the wiki that's confusing me is this paragraph:
This also means to get to the create action we don't have a product_id yet
> so we can either create this object in another controller and redirect to
> the wizard, or we can use a route with a placeholder product_id such as
> [POST]
> /products/building/build in order to hit this create action.
So i get that i have to create a blank product (or in my case a goal) so
that i'll have an id that can be used by the show and update actions.
I don't really want to start the wizard off in another controller, because
that doesn't really make sense since the first step of the wizard is
choosing a type and not entering the minimally viable information for that
object. So i'd like to do the route with the placeholder that creates the
object and then re-directs to the first step of the wizard.
However i'm very confused about how to link to the create action from the
Users dashboard page, or for testing what url to enter into the address
bar.
This is my controller
class Goals::BuildController < ApplicationController
include Wicked::Wizard
steps :goal_length, :goal_type, :goal_info
def show
@goal = Goal.find(params[:goal_id])
render_wizard
end
def update
@goal = Goal.find(params[:goal_id])
@goal.update_attributes(params[:goal])
render_wizard @goal
end
def create
@goal = Goal.create
Rails.logger info @goal.id
redirect_to wizard_path(steps.first, :goal_id => @goal.id)
end
protected
def goal_params
params[:goal].permit(:name, :amount, :end_date, :goal_type, :goal_term,
:on_going)
end
end
My routes.rb has the following entry:
resources :goals do
resources :build, controller: 'goals/build'
end
These are the routes generated by that entry:
POST /goals/:goal_id/build(.:format)
goals/build#create
new_goal_build GET /goals/:goal_id/build/new(.:format)
goals/build#new
edit_goal_build GET /goals/:goal_id/build/:id/edit(.:format)
goals/build#edit
goal_build GET /goals/:goal_id/build/:id(.:format)
goals/build#show
--
--
SD Ruby mailing list
[email protected]
http://groups.google.com/group/sdruby
---
You received this message because you are subscribed to the Google Groups "SD
Ruby" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.