Air 真的够用了 入手半年时间,我感觉 预算充裕的话直接入手 8G 内存的 别的都没问题 比 Pro 更轻快
报名 上次刚好碰上去上海出差 没赶上
给介绍下南京的 Rails 公司呗
给的东西太少了,好多同学看了都不知道怎么回复你 你可以贴一下 比如你改了什么东西后 next_page 的链接就变了 变成什么了
楼主的犯的错误是安装了 zsh 却没把 rvm 的路径写进去
link_to 自然可以 既然报 route 错误 就是找不到这个 rar 文件 建议楼主贴出来报错信息+paperclip 配置
不同意楼上的观点
#7 楼 @tualatrix 俺是个菜鸟还,想听听大家的高见 学习学习
所以 怎么报名呢
所以 怎么报名呢
前段时间做了 devise+cancan 的权限管理,感觉还是很好的 用 devise 做用户管理 用 cancan 做用户权限管理 PS: cancan 的 WIKI 我认为已经相当全面了 Super easy ^.^ 可以给每种用户一个 level 然后通过 level 来控制权限 如果权限比较多的话 --> DSL 存储权限表 少量的话就直接写 Ability.rb 中 假设没有 namespace,已安装好 cancan
# case 权限较少
# current_user 由devise 生成
class Ability
include CanCan::Ability
def initialize(current_user)
return unless current_user
case current_user.level
when 0
can :manage, :all
when ......
# 你的权限方案
else
# some code
end
end
end
=========================================
#case 较多权限
Table: users
id | username | ... | role_level
Table: permissions
id | role_level | user_id | subject_class | action
# model
user.rb
has_many: permissions
permission.rb
belongs_to: user
1. 根据用户于权限的关系
# cancan
class Ability
include CanCan::Ability
def initialize(current_user)
return unless current_user
current_user.permissions.each do |p|
can p.aciton.to_sym, p.subject_class.constantize
end
end
end
2. 根据角色于权限的关系
class Ability
include CanCan::Ability
def initialize(current_user)
return unless current_user
permissions = Permission.where(:role_level => current_user.role_level).all
permissions.each do |p|
can p.aciton.to_sym, p.subject_class.constantize
end
end
end
最后别忘了给 controller 上锁哈
permissions = Permission.where(:role_level => current_user.role_level).all 不好意思 这个改过来了,这行是正确的 Permission.where(:role_level => current_user.role_level) 不是数组 只是一个关系对象 加上 all 才会进行查询 生成一个数组
#21 楼 @tiseheaini 建议去看下 codeschool 的 RubyForZombies. 传送门:codeschool
Linkage_select 插件实现基本的三级联动
像你帖子中的方法操作完毕后,这样写
<%= javascript_include_tag "/assets/jquery.fancybox-1.3.4" %>
试试
View
<%= link_to, "打开窗口", "#", :onclick => "getUrl()" %> #html
function getUrl() {
$.get("your_action_url", function(data){
window.open(data)
})
}
Controller
def your_action
#your logic (build a url you want)
render :text => url_you_just_build
end
代码不一定正确,我觉得这样的逻辑应该能满足你的要求,试试看。
前几天由于一个插件和 application.js 一起打包编译就报错 所以我单独摘了出来 layout/application.html.erb
<%= javascript_include_tag "/xheditor/xheditor-1.1.12-zh-cn" %>
在这个目录可以找到public/xheditor/
在 config/environment/production.rb 中
# Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
config.assets.precompile += ['style.css']
在生产环境中执行
~$ bundle exec rake assets:precompile
String.new("百万条数据")
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: fosun_development
pool: 5
username: root
password:
like this, then
~$ bundle install
~$ rake db:create
如果还不行,删掉重建 :p
# 指定数据库创建项目
rails new -d mysql
1.图片加载
# app/assets/images/1.jpg
<%= image_tag "1.jpg" %>
ruby
# Disable Rails's static asset server (Apache or nginx will already do this)
config.serve_static_assets = false
设置为 true 就可以直接 servepublic/assets
中预编译好的资源文件
由于预编译只编译application.css
和application.js
和其他不是 js,css 后缀的文件 所以最好在 application.js 中如下引用
ruby
//= require self
//= require_tree .
js 和 css 的预编译产生结果不同,js 如上引用后只产生一个 application.js,所有代码压缩在它里面
而 css 只是简单的@import
所以仅仅像上述引用,编译后还是提示找不到,如下设置
ruby
# Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
config.assets.precompile += ['what_ever_you_want']
添加上所有的 css 文件
在 production 环境中如上所述由于会压缩 js 文件所以有些 js 脚本压缩后 (不知道什么原因,大概是不够规范) 会报错,影响程序运行,所以尽量不要用中文吧用自己的页面代替默认登陆页面 我用自己的项目给楼主写个例子吧 楼主想为 Account 进行 devise routes.rb
devise_for :accounts, :controllers => { :sessions => "admin/sessions" }
然后将 sessions_controller.rb 拷贝到如下目录
app/controllers/admin/
同时新建以下 view
app/views/admin/sessions/new.html.erb #登陆页面
当然楼主可以把其他的页面也搬过来
贴一下路由信息
$ rake routes
new_account_session GET /accounts/sign_in(.:format) {:action=>"new", :controller=>"admin/sessions"} #登陆
account_session POST /accounts/sign_in(.:format) {:action=>"create", :controller=>"admin/sessions"} #新建
destroy_account_session DELETE /accounts/sign_out(.:format) {:action=>"destroy", :controller=>"admin/sessions"} #注销