我有一个简单的签到应用程序:其中有一个包含一系列用户图片的页面。只需单击图像即可“签入”。这会将它们注册到数据库中,并在图像上显示一个“已签入”图标。
现在,我正在视图中通过“ link_to”调用寄存器控制器操作。但这意味着我必须在每次签入后重新加载整个页面。我想在没有重新加载的情况下执行此操作,但是我不知道如何执行此操作。也许我需要一种不同的方法?
这是(简化的)控制器操作:
def register
@individual = @household.individuals.find(params[:id])
@individual.last_checkin = Time.now()
@individual.save
redirect_to :back
end
这是视图:
- @household.individuals.each do |individual|
.individual
= link_to image_tag(individual.picture.url(:large), :class => 'picture'), register_household_individual_path(@household, individual)
.checked-in
- if individual.checked_in?
= "Checked in today at #{individual.last_checkin.to_s(:time)}"
= image_tag('/images/checked_in.png')
%h2
%span
= individual.firstname + " " + individual.lastname
%br
= individual.relationship
(图像叠加层在CSS中处理)
我将如何用ajax做到这一点?这不是表单提交,所以我不能使用.js.erb文件。也许应该,但是我不知道该怎么做。
有任何想法吗?
最佳答案
为什么不在link_to上使用Rail的:remote => true
? http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-link_to
关于javascript - Rails:不引人注意的 checkin 功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6220273/