我是新來的Ruby on Rails和我試圖更新設備屬性(用LastChangedBy)只要單擊提交按鈕,將其值設置爲用戶的IP地址。我想做類似的事情:提交按鈕調用一個方法
<%= form_for(@device) do |f| %>
.
.
.
<%= if click? (f.submit "Commit Entries", class: "btn btn-primary") == true %>
<%= @device.lastChangedBy = request.remote_ip %>
<% end %>
但我不認爲這是可能的。我在找到使用「button_to」,但在網上搜索後,我感到非常困惑如何使用它。我試圖做類似:
<%= button_to "Commit Entries", action: "setIp" %>
,然後在DevicesController &在helper.rb(因爲我不知道在哪裏它會調用該方法),我做了一個簡單的方法:
def setIp
Device.find(params[:id])
@device.lastChangedBy = request.remote_ip
end
但我完全失去了。有人能幫助我嗎?如果你是特定的,這將是驚人的!根據您的應用
class DevicesController < ApplicationController
def update
@device = Device.find(params[:id])
@device.last_changed_by = request.remote_ip # Tada!
if @device.update_attributes(params[:device])
redirect_to @device
else
render 'edit'
end
end
end
調整,但是這是基本的想法:
這正是我所需要的!非常感謝! –