beast学习笔记——2,forums_controller
参考
1,
(1)代码:
before_filter :admin_required, :except => [:index, :show]
(2)表示:
前置过滤器,对index,show方法除外
(3)其他:
admin_required方法存储在哪里?在forums_controller、application_controller中都没有,但是application_controller中有一个include AuthenticatedSystem,于是到 /lib目录中找authenticated_system.rb,里面有定义
2,
(1)代码
session[:forums_page] = nil
(2)表示:
当进入显示所有项index方法时,清空session中存储的页数forums_page
(3)其他
session存储在哪里?可以看看enviroment.rb中的”config.action_controller.session_store“,常用的是三种:
【1】rails2以上的版本,默认把session放在基于cookie的客户端中,即session以 hash的格式每次作为cookie发送到客户端浏览器来保持。
rails1版本默认是CGI:Session:PStore,存储在服务器上的一个PStore格式的文件中。
【2】:action_record_store,存储在数据库session表中。
【3】:drb_store,存储在一个DRb服务器上。
注:当我们向一个域名发送一个请求的时候,如果存在这个域名的cookie,浏览器会自动把cookie附带上。
3
(1)代码
@forums = current_site.ordered_forums
(2)表示
创建forums实例变量,存储什么?为什么不是标准的 @forums = Forum.find( :all, : order => "position"),
【1】这里有一个当没有站点时的转向问题(其实在安装beast时rake app:bootstrap已经引导你建立站点了)。
可以导到current_site在/lib目录中authenticated_system.rb里面有定义:
def current_site
@current_site ||= Site.find_by_host(request.host) or raise Site::UndefinedError
end
这个方法是先是用||= 看@current_site有没有值,如果没有就用Site.find_by_host(request.host)获取一个值赋给@current_site(这里request.host是会得到主机的名称,我在本机上运行,这会得到localhost),如果Site里还没有这个值,就再执行 raise Site::UndefinedError。
这个异常应该是自定义的。打开Site模型文件app/model/site.rb,就会看到
class UndefinedError < StandardError; end
这一行,原来UndefinedError是继承至StandardError类。
异常被抛出来,就得处理它。其实,我们之前在浏览application_controller.rb代码,就发现了一个rescue_from方法:
rescue_from Site::UndefinedError do |e|
redirect_to new_site_path
end
看到这里,我想都明白为什么在第一次运行Beast时,会重定向到新建站点的页面了。
【2】.ordered_forums表示什么,见site.rb中的:
def ordered_forums(*args)
forums.ordered(*args)
end
再见forum.rb中的:
def self.ordered
find :all, :order => 'position'
end
于是,.ordered_forums表示查询forum并按照position排序
4,
(1)代码
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @forums }
end
(2)表示
表示,当HTTP首部的Accept-Type要求返回的类型为text/html时,view指向默认的index.html。当要求返回的类型为xml/text时,view将会指向一个xml,此xml由模型forum自动生成
分享到:
相关推荐
beAst音频小组内部教程_初级第一版 beAst 音频小组@Siluhd 2 目录 前言... 3 一、国语音轨...
EA Beast_2.9
自动趋势线是MT4的一个指示器,它能找出最精确的趋势线,并自动将其绘制在图表上。
BEAST SUPER SIGNAL MT4 INDICATOR
decoder fo zender class php
由C++写的高性能websocket服务端,支持百万连接.
php代码加密扩展 完安装php-beast后可以使用tools目录下的encode_files.php来加密你的项目使用。encode_files.php之前先修改tools目录下的configure.ini文件
beast2, 基于抽样树的贝叶斯进化分析 Beast 2 Beast 是一种基于分子序列MCMC的贝叶斯推理交叉平台程序。 它完全向根的方向推导,时间测量phylogenies使用严格或者松松的分子时钟模型推断出来。 它可以以作为一种重构...
wget https://codeload.github.com/liexusong/php-beast/zip/php7$ unzip php-beast-php7.zip$ cd php-beast-php7$ phpize$ ./configure$ sudo make && make install2)修改php.ini 添加配置:extension=beast.so3)...
详细讲解BEAST使用方法和步骤,方便初学者使用
PHP Beast是一个源码加密模块,使用这个模块可以把PHP源码加密并在此模块下运行。 ... 2)使用beast模块的时候: 可见, 使用缓存的beast模块比原来还要快一点. 标签:phpbeast
beast加密扩展Windows DLL
详细介绍如何在windows下编译php-beast扩展,详细介绍了参考网址、编译环境、编译文件、编译步骤等信息
Beauty_and_the_Beast.pdf
Beast2.07软件 Beast2.07软件 Beast2.07软件
资源分类:Python库 所属语言:Python 资源全名:beast2-xml-1.0.11.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
信息安全_数据安全_IPv666_–_Address_of_the_Beast 安全评级 安全运营 威胁检测 安全风险 APT
rails开源论坛 beast源代码下载
主要用于生物进化分析,采用贝叶斯原理构建贝叶斯进化树,软件式操作,免除编程,十分简单方便。附件材料齐全,随下随用。