2013-03-13 22 views
0

我將rfid值傳遞給表單以創建新的device對象。如何使用該值查看現有rfid的列表,以便用戶從options_from_collection_for_select中選擇一個?Rails - 如何捕獲傳遞給表單的屬性?

下面的代碼傳遞值:

<%= link_to "Create New Device (non-functional)", new_device_path({:rfids[0] => @rfid_id, cabinet_id: @cabinet.id}), :class => "btn btn-primary" %> 

這裏就是我開始了在表單代碼:

<th>RFID</th> 
      <td><%= f.text_field :rfids, options_from_collection_for_select(Rfid.all, "id",) %></td> 

感謝。

+0

我很困惑。你爲什麼用'text_field'使用'options_from_collection_for_select'?這個表單域應該是一個select還是一個文本域? – MrTheWalrus 2013-03-13 21:45:26

+0

你說得對,我會改變這一點。無論哪種方式,我不知道如何檢索傳遞的值。 – 2013-03-13 22:25:01

回答

0

看起來好像您將值作爲參數傳遞給new_device_path,並且您希望在構造該操作呈現的表單時使用該值。

爲了做到這一點,你需要添加一些代碼到你的動作方法中(DevicesController#new,如果你使用的是Rails的默認設置,那麼不管是什麼動作new_device_path指向)。它可能會使用這個一般形式:

def new 
    @passed_value = params[:param_name] 
end 

這樣做只是存儲在一個實例變量傳遞的值,但是這意味着你就可以參考它由動作呈現的形式:

options_from_collection_for_select(Rfid.all, :id, :id, @passed_value) 
相關問題