select_tagを使用したドロップダウンリストがあり、その近くにボタンがあります。
次の要件があります:
1)送信ボタンをクリックするとbooks#show actionに移動します
2)次にshow actionでドロップダウンリストから選択した本を取得します
3)showメソッドはデータベースから取得する本の詳細を表示する必要があります
つまり、同じページがこの本の詳細で更新されるはずです。
しかし、私はこれを実行することはできません。
私からしてみれば:
<%= form_tag books_path do |f|%>
<%= label_tag "select book" %>
<%= select_tag "selectbook", options_from_collection_for_select(@bid,"book_id","book_id"), :prompt => "Select book",:class => 'cmbbook' %>
<%= submit_tag "view ...", :disable_with => "Please wait." ,:action => "show"%>
<%end%>
私のコントローラーで
if(params[:selectbook])
@books = Book.where("book_id = ?",params[:selectbook])
else
@books = Book.all
end
@bid= Books.select("book_id").uniq;
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @books }
format.json { render json: @books }
end
create
代わりにsubmitメソッドを呼び出すアクションshow
と、新しい本のデータでページが自動更新されることも希望します。