实战Hilog笔记三:@current_user/logged_in?/require_login/editable?

news/2024/7/10 23:37:11 标签: Go, Flash, ActiveRecord, Blog
1,在ApplicationController里添加几个辅助方法:
[code]
class ApplicationController < ActionController::Base
session :session_key => '_hilog_session_id'
before_filter :load_defaults
helper_method :logged_in?

protected

def load_defaults
@current_user =
if logged_in?
User.find(session[:user_id])
else
nil
end
end

def logged_in?
session[:user_id]
end

def require_login
redirect_to(new_session_url(:go_after => request.request_uri)) and return false unless session[:user_id]
end

end
[/code]
load_defaults得到当前登录的用户@current_user
helper_method让logged_in?方法可以在rhtml页面里使用
require_login是一些需要登录权限才能操作的action的before_filter

2,在Topic模型类里添加editable_by?方法:
[code]
class Topic < ActiveRecord::Base
belongs_to :user

def editable_by?(account)
account && (account.id == user.id )
end

end
[/code]
这样可以在rhtml页面和controler里判断topic是否可以被@current_user编辑和删除

http://www.niftyadmin.cn/n/728558.html

相关文章

elementio中树形表格不显示_CAD制图软件中CAD布局视口内容不显示怎么办?

有些人在使用浩辰CAD制图软件布局时延续了模型空间的使用方法&#xff0c;只利用视口来排图&#xff0c;因此就会出现由于一个CAD布局中有过多视口而导致一些视口内容不显示的状况。在浩辰CAD制图软件中CAD布局空间能同时显示多少个视口是由变量MAXACTVP(Maxmium Active viewpo…

Tiger in the house

很高兴花周五晚上2个小时的时间来阅读这样一本实用的书 -- 《Java 5.0 Tiger》很多我面试过的朋友&#xff0c;工作经验两年以上&#xff0c;到今天都只用过JDK1.4&#xff0c;中WebSphere/WebLogic的毒不浅 智&#xff0c;日日知新也一、新的类库 1, [urlhttp://java.sun.com/…

gpu合成方案_浏览器极致性能调优之——浏览器合成与渲染层优化

一个 CSS 属性引发的血案 Web 页面性能是前端开发特别需要关注的重点&#xff0c;评判前端 Web 页面性能的指标有很多&#xff0c;页面的流畅度是其中的一种&#xff0c;如何让页面变得 “柔顺丝滑”&#xff0c;要讨论起来可就是个相当有料的话题了。之前开发移动端 H5 页面的…

Spring JavaConfig参考文档

Spring JavaConfig参考文档 [urlhttp://static.springframework.org/spring-javaconfig/docs/1.0-m2a/reference/html/index.html]Spring JavaConfig Reference Documentation[/url] Rod Johnson Costin Leau version 1.0-m2 Copies of this document may be made for your own…

using index mysql_MySQL执行计划extra中的using index 和 using where using index 的区别

本文出处&#xff1a;http://www.cnblogs.com/wy123/p/7366486.html(保留出处并非什么原创作品权利&#xff0c;本人拙作还远远达不到&#xff0c;仅仅是为了链接到原文&#xff0c;因为后续对可能存在的一些错误进行修正或补充&#xff0c;无他)mysql执行计划中的extra列中表明…

Datatype manipulation in JavaScript

Datatype manipulation in JavaScript TypeCopied byPassed byCompared bynumberValueValueValuebooleanValueValueValuestringImmutableImmutableValueobjectReferenceReferenceReference

java list 去重_鸿卓课工场讲解面试中常问的List去重问题,你都答对了吗?

面试中经常被问到的list如何去重&#xff0c;用来考察你对list数据结构&#xff0c;以及相关方法的掌握&#xff0c;体现你的java基础学的是否牢固。我们大家都知道&#xff0c;set集合的特点就是没有重复的元素。如果集合中的数据类型是基本数据类型&#xff0c;可以直接将lis…

如何清空mysql日志文件_如何删除MySQL的 bin log日志文件

当mysql 日志占用太大空间的时候&#xff0c;要考虑将日志删除一语法如下&#xff1a;PURGE {MASTER | BINARY} LOGS TOlog_namePURGE {MASTER | BINARY} LOGSBEFORE date用于删除在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件中的清…