第一次用 Rails 开发了一个网站:http://caidianying.com/
Rails + Twitter Bootstrap 用起来真是非常 happy.
想知道楼主网站顶部菜单栏的 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"
#27 楼 @pl1987123 直接把 bootstrap 的 css 放到 app/assets 里面就好了,就和自己写的 css 一样用。另外 form 方面我使用了 simple_form
(https://github.com/plataformatec/simple_form), 它和 Twitter Bootstrap 结合得很好。
#30 楼 @nuclearkitten 对,现在都已经有比较好的 gem 了,原来有一些不太可靠。豆瓣最近也有官方人员做了一个:
https://github.com/liluo/omniauth-douban-oauth2
本来还做了人人网的登录,结果审核一直有问题,就干脆去掉了。
#35 楼 @sanivbyfish 我一开始还是用了 4 栏的瀑布流,那个比较麻烦,还需要绝对定位,现在这个很简单了。做法是这样的:
注意事项:图片没有 load 的时候是没有高度的,所以应该给每个 card 一个 min-height 属性。