如何獲取值以便在從rfid
部分view/cabinet/show
頁面導航時預填充新的device
表單? device
has_one rfid
。Rails/Ruby - 從其他頁面傳遞的數據預填充表格
從櫃/顯示鏈接:
<%= link_to "Create New Device (non-functional)", new_device_path({:id => @rfid.id, cabinet_id: @cabinet.id}), :class => "btn btn-primary" %>
的devices_controller
,我想有當0或2 PARAMS傳遞create方法工作:
def create(options)
if options[:cabinet_id] and options[:id]
@rfid = Rfid.find(params[:id])
@device = Device.new(params[:device])
@device.rfid = @rfid
@device.cabinet_id = :cabinet_id
else
@device = Device.new(params[:device])
@cabinet = Cabinet.find(params[:device][:cabinet_id])
@device.row_id = @cabinet.row_id
end
respond_to do |format|
if @device.save and @cabinet.refresh_capacity_used and @cabinet.refresh_consumption
format.html { redirect_to @device, notice: 'Device was successfully created.' }
format.json { render json: @device, status: :created, location: @device }
else
format.html { render action: "new" }
format.json { render json: @device.errors, status: :unprocessable_entity }
end
end
末
新版的cabinet_id和rfid部分device/_form
:
<tr>
<th>Cabinet</th>
<td><%= f.select :cabinet_id, options_from_collection_for_select(Cabinet.order(:name).all, "id", "name", @device.cabinet_id) %></td>
</tr>
<tr>
<th>RFID</th>
<td><%= f.text_field :rfid, :value => params[:rfid]%></td>
</tr>
謝謝。
你只是試圖讓RFID字段預填充? – zeantsoi 2013-03-14 15:38:59
不,一次只採取一步。希望如果我找出rfid,我會自己拿到內閣。 – 2013-03-14 15:48:12
我已經回答了應該預填充這兩個字段的代碼。你能告訴我它是否有效嗎? – zeantsoi 2013-03-14 17:00:15