Rails 中实现go to top按钮功能 创建于:20 Apr 2014

回到页面顶部的功能,在web开发中经常需要用到,自己搜索之后,参考了网上的资料,自己总结一下,以备后用

1、在layouts页面的底部加入a标签

<%= link_to image_tag("go_top.png"), "#", id: "go-top", title: "返回页面顶部" %>

2、添加如下的js:

$(window).scroll(function() {
  var scrollt = document.documentElement.scrollTop + document.body.scrollTop;
  if(scrollt>50){
    $("#go-top").fadeIn(200);
  }else{
    $("#go-top").stop().fadeOut(200);
  }
});

$("#go-top").click(function(){
  $("html,body").animate({scrollTop: "0px"}, 200);
});

3、添加a标签的css

#go-top {
  display: block;
  width: 20px;
  height: 70px;
  position:fixed;
  bottom: 5px;
  right: 5px;
  border-radius: 2px;
  text-decoration: none;
  display: none;
  background-color: #adadad;
}

4、去百度或google搜索一个自己满意的图标,比如( http://www.lanrentuku.com/gif/a/top.html )这里就有很多可以挑选的,然后根据图标大小,调整一下css的width和height

环境

ubuntu 12.04 rails 4.0 ruby 2.0 nginx 1.4.5 puma 2.7.1

部署步骤:
1、安装nginx
  • 使用nginx.org的官方repo:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ABF5BD827BD9BF62
  • 把下面一行添加到/etc/apt/sources.list中:
deb http://nginx.org/packages/ubuntu/ precise nginx
  • 如果之前系统中安装过nginx,则先把它删除
sudo apt-get purge nginx*
  • 安装nginx:
sudo apt-get update
sudo apt-get install nginx
  • 安装成功后可以通过如下的命令验证:
nginx -v
result: nginx version: nginx/1.4.5
  • 启nginx、停止nginx和重启nginx:
sudo service nginx start
sudo service nginx stop
sudo service nginx restart
2、配置nginx
  • 删除默认的配置文件default.conf
sudo rm /etc/nginx/conf.d/default.conf
  • 添加应用配置文件
upstream app-name {
  server unix:///path/to/your/app/root/tmp/sockets/production.socket;
}

server {
  listen 80;
  server_name my_app_url.com; # change to match your URL
  root /path/to/your/project/public; # I assume your app is located at that location

  location / {
    proxy_pass http://app-name; # match the name of upstream directive which is defined above
      proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }

  location ~* ^/assets/ {
    # Per RFC2616 - 1 year maximum expiry
    expires 1y;
    add_header Cache-Control public;

    # Some browsers still send conditional-GET requests if there's a
    # Last-Modified header or an ETag header even if they haven't
    # reached the expiry date sent in the Expires header.
    add_header Last-Modified "";
    add_header ETag "";
    break;
  }
}
  • 重启nginx,使配置生效
3、用puma启动应用,前提是你可以通过rails s -e production把应用启动
  • Gemfile中添加puma
gem 'puma'

这时,用rails s启动时,puma会替换WEBrick

  • 配置应用的puma配置文件
#!/usr/bin/env puma

# start puma with:
# bundle exec puma -e production -C path/to/your/app/config/puma.rb

application_path = '/path/to/your/app'
railsenv = 'production'
directory application_path
environment railsenv
daemonize true
pidfile "#{application_path}/tmp/pids/puma-#{railsenv}.pid"
state_path "#{application_path}/tmp/pids/puma-#{railsenv}.state"
stdout_redirect
"#{application_path}/log/puma-#{railsenv}.stdout.log"
"#{application_path}/log/puma-#{railsenv}.stderr.log"
threads 0, 16
bind "unix://#{application_path}/tmp/sockets/#{railsenv}.socket"
  • 在应用中添加/tmp/pids/和/tmp/sockets/两个文件夹,然后通过一下命令启动应用:
bundle exec puma -e production -C path/to/your/app/config/puma.rb
  • 确定puma是否起来
ps aux | grep puma
login-name    4548  0.3  3.5 367436 63952 ?        Sl   22:44   0:00 /home/albert/.rvm/gems/ruby-2.0.0-p353/bin/puma  

如果没有这个puma的进程,说明puma没有启动,需要排查为什么没有启动,一般有可能是/tmp/pids/这个文件夹没有创建,导致pid文件没有生成

done

经过以上的配置,我们应该可以通过域名或ip访问到我们的应用,如果没有,请检查以下几项(不限于这些):

  • bind在nginx中的配置和puma中的配置是否一致
武侠-金庸 创建于:07 Jan 2014

《金庸传》读毕,杂记!

1955年2月8日,查良镛开始以笔名金庸在《新晚报》上开始连载《书剑恩仇录》,开启了金庸的武侠时代。

当时金庸自己都没有想过自己会开始写武侠小说,其缘由是因为《新晚报》的“天方夜谈”栏目一直连载梁羽生的《草莽龙蛇传》已经完结,急需要另外一部武侠小说顶上。而此时,梁羽生因为事务繁忙无暇再写新的武侠小说。作为梁羽生好友兼同事的金庸就自然而然的被指派进行武侠小说的创作。

金庸刚开始的时候迟迟不敢应下这件事,因为他从来没有写过武侠小说,甚至都没有任何写小说的经验。但是在众人的劝说下,还是勉为其难的报了个书目《书剑恩仇录》。第一篇连载的《书剑恩仇录》也是到了发稿的前一天晚上才交稿。金庸本人也说,“当时写作的目的只是为做一件工作”。

《书剑恩仇录》总共连载了574天,到1956年9月5日结束,获得了极大的成功,可以从以下的轶事中印证:1955年的一天,刘芳和李晨风等电影界朋友在茶楼上谈起,如何将这个小说改变成电影,应该怎样拍,忽然想不起书中某个人物的绰号了,茶楼的女招待和邻座的茶客纷纷插口进来告诉他们。可见小说在市民中的流行程度非常广!

《书剑恩仇录》在《新晚报》的成功,直接促使《香港商报》副编辑李沙威力邀金庸为他们的“说月”版也写一部武侠小说,由于李的恳切使金庸难以推迟,就答应了。从1956年1月1号起,《碧血剑》就在《香港商报》上开始连载。到1956年12月31号连载完毕,正好一年。

从1957年元旦开始,金庸开始了其《射雕英雄传》在《香港商报》的连载。如果说前两部小说只是小试牛刀,那么,《射雕英雄传》则是奠定金庸新武侠盟主地位的关键之作了。其汪洋恣肆的想象,加上其深厚的文笔功力,赋予了《射雕》别具一格的风味,像”兰花拂穴手“、”落英神剑掌“等极具想象力的武功招式等。《射雕》不但风行香港,而且波及东南亚。其流行程度从倪匡的话中可见一斑:”在1957年,若是有看小说的人不看《射雕英雄传》的,简直是笑话“。小说主角郭靖诚朴厚重的形象也深入人心。直到1959年5月19日,总共连载862段。

在连载《射雕英雄传》同时,金庸在1959年2月9日开始在《新晚报》连载其第四部小说《雪山飞狐》。该小说的叙述手法据金庸自己说是从《天方夜谭》讲故事的方式受到启发,对同一件事不同的人有不同的讲述,在加上了一些戏剧成分,和之前的有显著差异。到1959年6月18日,总共连载129天,并留下了一个永远的悬念——胡斐这一刀到底是劈下去还是不劈?

1959年5月20日,伴随着《明报》的创刊,射雕三部曲中的第二部《神雕侠侣》同时开始在《明报》进行连载。撇开其最有名的社评,金庸的小说也是支撑明报最艰苦的头三年的关键。其对爱情的乌托邦式描写,让人欲罢不能。”问世间,情为何物,直教生死相许“已经早已为世人所熟悉。其一直连载到1961年的7月8日才结束!

1960年这年年初,明报筹备出版《武侠与历史》,其一开始就连载了其另一部武侠小说《飞狐外传》,这是《雪山飞狐》的前传。有意思的是写这本小说的方式:金庸一般七天写一段,一个通宵写完,从半夜十二点开始,写到第二天早上七八点钟,可谓是相当的辛苦。

1961年7月6日,金庸的《倚天屠龙记》在《神雕侠侣》还没有结束的时候就开始在《明报》开始连载,这是“射雕三部曲”中的最后一部。《倚天屠龙记》中令人印象深刻的就是关于正派与邪派的区分,让人回味!而主角张无忌的塑造上感觉就没有前面两部这么的凸显。郭靖诚朴质实,杨过深情狂放,而张无忌则显得平淡无奇更接近于平凡人的性格。金庸是如是的评价这三个主角:杨过是绝对主动性的,郭靖在大关节上把持的很定,小事要黄蓉推动一下,而张无忌的一生却总是受到别人的影响,被环境所支配,无法摆脱束缚。《倚天》一直连载了两年多,到1963年9月2日结束。

1961年这一年,金庸在不间断的写长篇神雕、倚天时,其两部短篇《鸳鸯刀》和《白马啸西风》也在明报相继登场,5月1日开始《鸳鸯刀》到5月28日结束,《白马啸西风》在当年10月开始连载,到11月结束,这其实是金庸1960年为电影公司创作的一个剧本。

1963年9月3日,《天龙八部》开始在《明报》和《南洋商报》同时连载。《天龙八部》的剧情和人物让人看过之后的感觉就一个字:爽!其人物众多、情节曲折,线索复杂,其中贯穿两条主线,即人类对权力的贪婪和对爱情的痴迷。慕容氏、段延庆、丁春秋、天山童姥、鸠摩智等,对权力的追逐,让自己失去了自己的本性。而段誉、乔峰对爱情的痴迷也让人感慨。主角乔峰的豪饮千杯、虽千万人吾往矣的豪情,曾让多少人为之倾倒。而最后,乔峰死了,这样的结尾,是如此的残酷,折射出现实的残酷,怎样惊天动地的英雄也免不了一死。一则小轶事就是,倪匡增在1965年5月给金庸带过笔,写天龙八部,虽然最后单行本出来的时候,金庸在征得其同意的情况下,删去了其带写的4万多字。其总共连载了4年。

在1964年1月12日,《连城诀》随着《东南亚周刊》的发行,开始在其上连载。故事的原由是金庸埋藏心底的一个儿时故事发展出来的。其本身并未摆脱武侠小说秘籍、宝藏之类的俗套,但是情节跌宕起伏、环环相扣,人物性格鲜明。狄云和师妹戚芳的悲剧、丁典与凌霜华的惨死及“铁剑双侠”的分手,三对青年的不同遭遇,写出了人间爱情的脆落、命运的无常。

1966年6月11日,《侠客行》开始在《明报》开始连载,其摆脱以英雄为主角的单一模式,进行了新的尝试。别人称之为寓言小说,也有人认为是哲学小说。到1967年4月19日,总共连载295段。

《笑傲江湖》从1967年4月20日起在《明报》开始连载。连载期间正是内地文革的高潮,而其或多或少的对内地的文革进行了一些隐射。因此,其也成为了中国政治的象征和隐喻。任我行、东方不败、左冷禅、岳不群等等对权力的追逐及反过来权力对其自身的异化和扭曲,让人叹为观止。直到1969年10月12日连载结束,共857天。

1969年10月24日,《鹿鼎记》开始在《明报》开始连载。这部小说严格意义上来说,应该称不上是武侠小说,因为主角韦小宝并非武林高手;正真的主角康熙则是一位君王,离武林更远。韦小宝的传奇,无不暗示嘲讽了英雄时代的逝去。到1972年9月23日,连载结束,成为金庸的封笔之作。期间写过短篇武侠小说《越女剑》,开始于1970年1月,在《明报晚报》连载两个月结束,该小说则是根据清代画家任渭长的《卅三剑客图》创作,别出心裁,依画成文,有考证,有想象力,有回忆。

从1955年2月8日的《书剑恩仇录》开始到1972年9月23日《鹿鼎记》连载结束,17年间,总共写了十一部长篇武侠小说,四部中短篇,他自己用书名首字做了对联:飞雪连天射白鹿,笑书神侠倚碧鸳。只有短篇《越女剑》没有包括在内。从1970年3月起,金庸就开始修订前面的作品,直到1980年修订完成,总共花了十年时间,这也是让人佩服的地方。

另外值得一提的是,金庸在写武侠小说的17年间,并不是专职写小说。其间,他办的明报从一份街头小报成长成在香港乃至整个东南亚举足轻重的明报集团,更不要说其非常有名的《明报》社评。金庸的武侠之路只能用无心插柳柳成荫来形容,其写武侠很大程度是是为了增加其《明报》的销路。