我是新来的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
调整,但是这是基本的想法:
这正是我所需要的!非常感谢! –