'No route matches' error with select_tag

Rails 3: I have a view books/:id/show.html.erb - in the view, I have a
form
with a select tag to pick a template, that on dropdown should submit the
form which rerenders the page based on the selection:

<%= form_tag book_path(@book) do %>

<%= select_tag “template[]”,

options_for_select([[“Template1”,“template1”], [“Template2”, “template2”]]),
:value => (@template || ‘template1’), :onchange => ‘this.form.submit();’ %>

<%end%>

In my controller, I have

@template = params[:template] || ‘post’

In my routes, I have

resources :books, :only => [:show]

and rake routes indeed shows

book GET /books/:id(.:format)

{:controller=>“books”, :action=>“show”}

When I first navigate to this view, it all works fine and the view
renders
as expected. If I select a different template from the dropdown, I get
the
error:

No route matches ‘books/1’

The funny thing is that the current page is exactly that route.

If I refresh the page, it renders with the default template (and not the
selected one).

Any help?

Thanks
Anand

Never mind - I found it - I needed to add :method => :get to the
form_tag and it worked.