# RESTful: redirect\_to does not use GET?!

**URL:** <https://www.ruby-forum.com/t/restful-redirect-to-does-not-use-get/130377>\
**Category:** Rails\
**Created:** [February 27, 2008, 8:19pm UTC](https://www.ruby-forum.com/t/restful-redirect-to-does-not-use-get/130377 "2008-02-27T20:19:58Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![josh](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/45deac/32.png) [@josh](https://www.ruby-forum.com/u/josh)\
**Post date:** [February 27, 2008, 8:19pm UTC](https://www.ruby-forum.com/t/restful-redirect-to-does-not-use-get/130377/1 "2008-02-27T20:19:58Z")

</div>

Hi all

I have the following update action:

# PUT /music\_artists/1

# PUT /music\_artists/1.xml

def update  
music\_artist = MusicArtist.find(params[:id])

```
authorize_to!('EDIT', music_artist) do
  @page_title = "Edit #{music_artist.name}"
  respond_to do |format|
    if music_artist.update_attributes(params[:music_artist])
      flash[:notice] = 'Party organisator was successfully updated.'
      format.html { redirect_to music_artist_url(@program) }
      format.xml { head :ok }
    else
      @music_artist = music_artist
      format.html { render :action => "edit" }
      format.xml { render :xml => @music_artist.errors.to_xml }
    end
  end
end

```

end

Strangely, after update I get redirected to the correct URL  
music\_artists/123, but I’m getting the error “Unknown action”! It seems  
that the redirect is done using POST! But the show action needs GET!

So what’s going on here? Thanks for infos,  
Josh

---

<div class="post-metadata">

**Author:** ![josh](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/45deac/32.png) [@josh](https://www.ruby-forum.com/u/josh)\
**Post date:** [February 27, 2008, 8:27pm UTC](https://www.ruby-forum.com/t/restful-redirect-to-does-not-use-get/130377/2 "2008-02-27T20:27:07Z")

</div>

On 2/27/08, Joshua M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> ```
> authorize_to!('EDIT', music_artist) do
> @page_title = "Edit #{music_artist.name}"
> respond_to do |format|
> if music_artist.update_attributes(params[:music_artist])
> flash[:notice] = 'Party organisator was successfully updated.'
> format.html { redirect_to music_artist_url(@program) }
> 
> ```

What’s @program. Shouldn’t this be music\_artist\_url(music\_artist) ?

> Strangely, after update I get redirected to the correct URL  
> music\_artists/123, but I’m getting the error “Unknown action”! It seems  
> that the redirect is done using POST! But the show action needs GET!
> 
> ## So what’s going on here? Thanks for infos, Josh
> 
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).
> 
> >

–  
Rick DeNatale

My blog on Ruby  
[http://talklikeaduck.denhaven2.com/](http://talklikeaduck.denhaven2.com/)

---

<div class="post-metadata">

**Author:** ![josh](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/45deac/32.png) [@josh](https://www.ruby-forum.com/u/josh)\
**Post date:** [February 27, 2008, 10:46pm UTC](https://www.ruby-forum.com/t/restful-redirect-to-does-not-use-get/130377/3 "2008-02-27T22:46:48Z")

</div>

Argh, I forgot to edit the form\_for method call in \_form.rhtml 😉

Thanks anyway!
