Redirect_to :controller=>'tips', :action => 'show'

hi,

I tried to redirect rails to show action by passing controller, action,
and params. However, rails ignores the name of action totally!

what I got is http://mysite/controllername/paramId

so i have error message…

here is the action code I used:

def update
@tip = current_user.tips.find(params[:id])
@tip.attributes = params[:tip]
@tip.category_ids = params[:categories]
@tip.tag_with(params[:tags]) if params[:tags]

if @tip.save
  flash[:notice] = 'Tip was successfully updated.'
  redirect_to :controller=>'tips', :action => 'show', :id =>

@tip.permalink
else
render :action => ‘edit’
end
end

John U. wrote:

hi,

I tried to redirect rails to show action by passing controller, action,
and params. However, rails ignores the name of action totally!

what I got is http://mysite/controllername/paramId

def update
@tip = current_user.tips.find(params[:id])
@tip.attributes = params[:tip]
@tip.category_ids = params[:categories]
@tip.tag_with(params[:tags]) if params[:tags]

if @tip.save
  flash[:notice] = 'Tip was successfully updated.'
  redirect_to :controller=>'tips', :action => 'show', :id =>

@tip.permalink
else
render :action => ‘edit’
end
end
you can try redirect_to(tip_path(@tip))

Amar D.

On Jun 11, 11:15 pm, John U. [email protected] wrote:

hi,

I tried to redirect rails to show action by passing controller, action,
and params. However, rails ignores the name of action totally!

what I got ishttp://mysite/controllername/paramId

With a normal set of restful routes (ie if you’ve got
map.resources :tips in your routes files), the normal show url for the
tip with id 123 IS /tips/123

Fred