分享 第一次用 Rails 开发网站

zhuoqun · 2012年08月25日 · 最后由 shige 回复于 2013年01月13日 · 10933 次阅读

第一次用 Rails 开发了一个网站:http://caidianying.com/

Rails + Twitter Bootstrap 用起来真是非常 happy.

👍 看到 LZ 和 4 楼的头像,我乐了。

#4 楼 @hellfig #5 楼 @LinuxGit 哈哈,其实我现在也更喜欢樱木一点。

不错!

挺好啊

:-),楼主很强大,很漂亮

刚发现无法登录,楼主赶紧修改一下吧,这块的故障最要命也最容易被忽视

#12 楼 @fsword 你是指哪里无法登录?是第三方账号还是注册之后?

想知道楼主网站顶部菜单栏的 active 效果是怎么实现的,就是在当前页面所在的菜单会背景全黑,ruby-china 也有这个效果,可是找不到相关的代码,只找到一个

<%= render_list :class => "nav" do |li|
   li << link_to(t("menu.topics"), topics_path)
   li << link_to(t("menu.wiki"), pages_path )
   li << link_to(t("menu.sites"), sites_path )
   li << link_to(t("menu.users"), users_path)
end %>

但是我没找到 render_list 方法的定义在那

#14 楼 @w7938940 render_list 应该是在 helper 里面定义的吧。我是先在 helper 里面定义了一个数组:


def global_nav_items
    [{:id => 'index', :url => '/', :name => t(:page_index)}, {:id => 'screenshot', :url => '/screenshot/', :name => t(:page_screenshot)}, {:id => 'lines', :url => '/lines/', :name => t(:page_lines)}, {:id => 'fast', :url => '/fast/', :name => t(:page_fast)}]
end

然后在页面中:

- global_nav_items.each do |nav|
- active = nav[:id] == @page_id ? 'active' : ''
  %li{:class => "#{active}"}
    = link_to nav[:name], nav[:url]

每个页面有个 @page_id ,如果是当前页面,就给菜单项加个 class="active"

速度很快呀...

整体观感不错,速度也不错,哪的服务器?

用了多久?

#17 楼 @hi54yt 国内的服务器,暂时放在朋友那里,具体机房不太清楚。

#18 楼 @chairy11 从设计到上线 3 个月,都是业余时间在做,有时候也是一个星期没有进度。

#13 楼 @zhuoqun 早上起来发现好了,不知道是不是修改的结果

不错不错。。。

#20 楼 @fsword 没有修改,不过 log 里面确实有一些 route error, 但是我没有重现,奇怪。

好棒,

#15 楼 @zhuoqun 找到一个更简洁的方法,不过只适用于 controller 是菜单项的的情况, li{:class => (controller_name == 'homepage' ? 'active' : nil)}

Rails + Twitter Bootstrap 怎么结合的?

#27 楼 @pl1987123 直接把 bootstrap 的 css 放到 app/assets 里面就好了,就和自己写的 css 一样用。另外 form 方面我使用了 simple_form (https://github.com/plataformatec/simple_form), 它和 Twitter Bootstrap 结合得很好。

匿名 #30 2012年08月28日

三方登录用的是 omniauth 么?

#30 楼 @nuclearkitten 对,现在都已经有比较好的 gem 了,原来有一些不太可靠。豆瓣最近也有官方人员做了一个:

https://github.com/liluo/omniauth-douban-oauth2

本来还做了人人网的登录,结果审核一直有问题,就干脆去掉了。

不错,很有感觉,能否放到 github 上,新手想学习下

#32 楼 @neverlandxy_naix 最近没有这个打算,因为要继续做一些修改和完善,没什么时间。另外其实代码挺乱的。。。😓

速度好快阿

#33 楼 @zhuoqun 比较想知道瀑布流怎么实现的,只是单纯的 jquery+ 自己的 css 设计吗?

晕死,只猜出来最下面那部是教父...

#35 楼 @sanivbyfish 我一开始还是用了 4 栏的瀑布流,那个比较麻烦,还需要绝对定位,现在这个很简单了。做法是这样的:

  1. 设计好两栏布局。
  2. 用 js 遍历所有数据,每次都比较一下左右两栏的高度,然后把最新的一条贴到高度较低的那栏。

注意事项:图片没有 load 的时候是没有高度的,所以应该给每个 card 一个 min-height 属性。

#36 楼 @rockylaw 哈哈,我已经尽量贴简单的了,很多其它人贴出的更偏门~~

速度很快。楼主的数据库用的是什么,图片存储在数据库中吗,怎么解决图片访问速度问题阿

#39 楼 @helloqidi 数据库用的是 mysql. 图片用了 upyun,然后用了 carrierwave-upyun 的 gem.

ruby 文化,创意,激情,青春 java 老头,头疼,调试,虚度

我想弄个猜广告,谁能帮忙呢?

#33 楼 @zhuoqun 楼主可否传我一份源码,我初学者,很想学习学习这个,并且对瀑布流和认证都很感冒。

#43 楼 @Jijin 不好意思,源码可能没办法给你。关于瀑布流网上已经有很多文章和 sample code 了,你可以去研究一下。认证就直接 omniauth 就好,很多已经写好的 gem.

45 楼 已删除

sorry 没有入戏

47 楼 已删除

在这里总能找到新鲜的东西,Bootstrap 北京社区的 lilu 在第一次活动中讲过,真应该深入了解,Mark

那个获取的效果咋做的,如果 input 没有填写就禁用

#49 楼 @sanivbyfish 就直接用 JS 判断就好了。

#50 楼 @zhuoqun 哈,我还以为可以有更好的方法

#50 楼 @zhuoqun 哥们能加你 qq 吗

#4 楼 @hellfig 你好,请问下去 github 找瀑布流 sample 应该搜索什么关键词呢?能否给我推荐几个例子学习下,多谢。

没有备案?不备案 可以用吗?

#6 楼 @zhuoqun 可以付费帮忙搭建一个吗?

#55 楼 @ttsaon 不好意思,我不接外包。

仰慕楼主:thumbsup:

需要 登录 后方可回复, 如果你还没有账号请 注册新账号