2016-11-07 96 views
0
<%= f.select :tag_id, options_from_collection_for_select(RfidTag.all.where('status = ?','f'), :tag_id, :tag_id) %> 

這是我用來製作下拉列表的代碼,它包含我輸入數據庫的所有標記的id,默認狀態設置爲false。我如何修復上面的代碼,以便如果我選擇一個標籤,則會選中該標籤並將其狀態更改爲true。如何將下拉菜單中選擇的狀態更改爲True on Rails?

+0

代碼丟失了! – SteveTurczyn

+0

剛發佈的代碼對不起我的壞。 – AytheSlayer

回答

0

options_from_collection_for_select中,您可以指定應該使用第四個參數選擇的內容。只包括當前記錄的tag_id

options_from_collection_for_select(RfidTag.all.where('status = ?','f'), :tag_id, :tag_id, f.object.tag_id) %> 
-1

您需要發佈到端點rfidtags/:id與PARAMS {status: true},這將更新您的rfidtag與所提供的ID。

如果您希望在從下拉菜單中選擇結果時工作,而不是點擊提交按鈕,則必須使用一些js。這個答案可能會幫助你:https://stackoverflow.com/a/6961920/1079609

+0

我不需要改變控制器中的東西嗎?像更新方法? – AytheSlayer

+0

如果您使用rails生成器,控制器的默認更新方法應該無需進一步更改即可使用。 – golfadas

+0

你能解釋一下你的意思嗎?「發送到端點rfidtags /:id與params {status:true}」? – AytheSlayer

相關問題