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