我正在使用rails制作一个网站,我迫切需要如何创建一个链接,当点击它时会更新数据库中的属性,但只有在点击时才会更新。我有这个代码:
<%= link_to (myproperty_path) do %>
<% @player.update_attribute("energy", @player.energy + 2) %><span>Take a Nap</span>
<%end%>
但是这样做的问题是,每当我刷新页面时,它都会更新属性,而当我转到网站上的另一个页面时,它会再次更新属性。当我点击它时它可以工作,但我希望它只有在点击时才能工作,就是这样。另外,如果我在同一个页面上有两个这样的链接,点击一个链接就像我同时点击这两个链接一样。这是我的 myproperty 页面:
<%= render 'sidebar' %>
<div id="yui-main" class="yui-b">
<h2>My Property</h2>
<br \>
<p><b>Property: </b><%= @player.property %><br \><br \>
<%= link_to (myproperty_path) do %>
<span>Take a Nap</span>
<% if @player.energy <= 98 && @player.energy != 100 %>
<% @player.update_attribute("energy", @player.energy + 2) %>
<% end %>
<% end %>
<br \>
<%= link_to (myproperty_path) do %>
<span>Sleep</span>
<% if @player.energy <= 96 && @player.energy != 100 %>
<% @player.update_attribute("energy", @player.energy + 4) %>
<% end %>
<% end %>
<% if @player.property != "My Car" %>
<b>Rent: </b><br \>
<br \>
<b>Bedroom</b><br \>
<% end %>
当我单击其中一个链接时,它会为玩家的能量增加 6 而不仅仅是 2 或 4。enter code here
该链接位于 myproperty 页面上,我希望它在单击时返回 myproperty 页面。我在任何地方都没有找到解决方案,如果有人可以帮助我解决这个问题,我将不胜感激。