如何为ruby方法添加事件侦听器?

时间:2013-08-11 21:51:13

标签: ruby-on-rails

我想在一个按钮上实现一个事件监听器,该按钮取决于用户是否已登录?有没有办法将此代码集成到rails中。例如,如果用户单击对象的“Love-it”按钮并且他们已登录,则对象的信息将保存到数据库中。如果他们没有登录,相同的“爱 - 它”按钮应该将他们重定向到登录表单。请尽可能详细。谢谢。

1 个答案:

答案 0 :(得分:0)

我们假设您在文章中添加了“Love It”按钮。

= link_to("Love It!", like_article_path(@article))

现在在ArticleController添加before_filter以强制执行身份验证要求(假设 您正在使用像Devise这样的宝石进行身份验证)

class ArticleController < ApplicationController    
  before_filter :authenticate_user!    
  def like
    @article = Article.find(params[:id])
    @article.likes.create(:user => current_user)
  end    
end