Best way to call action new for a child entity?


I have two entities: Installation and Command. Each installation can
have many commands. In order to create a command the user has to go
through the installation. I have generated the standard scaffold code
for command and I changed the two actions New and Create in the
commands_controller as follows:

def new
session[:installation_id] = params[:id] #I added this
@command =

def create
@command =[:command])
@installation = Installation.find(session[:installation_id]) #I added
@command.installation = @installation #I added this
flash[:notice] = ‘Command was successfully created.’
redirect_to :action => ‘list’
render :action => ‘new’

In the installation list view I have a link for each listed installation
that calls the command new action passing the installation id. In the
new command action I save this id in the session and when create is
called I retrieve the id and assign set the command to be relation with
that installation.

Is this a good practice? Is there another maybe more proper way of doing
what I did?

Thank you,
Petros (A Ruby on Rails newbie)

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs