我有一个简单的签到应用程序:其中有一个包含一系列用户图片的页面。只需单击图像即可“签入”。这会将它们注册到数据库中,并在图像上显示一个“已签入”图标。

现在,我正在视图中通过“ 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 => truehttp://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-link_to

关于javascript - Rails:不引人注意的 checkin 功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6220273/

10-10 18:04