Rails初學者在這里
我在資料庫中有一堆書。我可以通過將書名附加到我的網址來訪問每本書的資訊。(localhost/3000:books/booktitle1 ... localhost/3000:books/booktitle2 ...等)
我有一個下拉選單,顯示資料庫中的所有書籍。
<%=select_tag "book", options_from_collection_for_select(@books, "book_name", "book_name")%>
如何使當我在下拉選單上進行選擇時,網頁重定向到該書的資訊?
含義...在下拉選單中選擇“booktitle1”,然后我的瀏覽器將發送到 localhost/3000:books/booktitle1。
*編輯
它不必精確搜索表單選擇,選擇書籍然后單擊“Go”按鈕也完全可以。只是不確定如何實作它。
uj5u.com熱心網友回復:
表單提交后,您需要獲取所選書籍的模型物件。然后,獲取它的 url 路徑。最后,重定向到該路徑。
book = Book.find(params[:books])
path = url_for(book)
redirect_to path
回傳書的params[:books]id,所以我可以使用find. 在您的情況下,您將屬性設定為value書名option。考慮將其更改為id或用于find_by查詢模型實體。我使用的標簽是:
<%= select_tag 'books', options_from_collection_for_select(@books, 'id', 'title') %>
我的表格如下所示:
<%= form_with url: '/books', method: :post do |f| %>
<%= select_tag 'books', options_from_collection_for_select(@books, 'id', 'title') %>
<%= f.submit %>
<% end %>
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/464257.html
上一篇:從紅寶石哈希值中洗掉雙引號
