git reflog
列出近期修改,找到要的 hash 然后 reset。
按这个写法,浏览器请求的是 html,服务端不支持 html 输出应该报错。不要研究以前的不正常行为了。
You can enable or disable it in your configuration through the config.assets.digest option.
我是按着 LZ 思路提的方案,适合文章分类这种异步创建,但是创建了就有效的数据。
如果 B 脱离 A 就无效的,可以提交 A 表单的时候才一起创建。
创建 B,不关联 A,返回 B 的 id,存在 A 表单的隐藏字段,等 A 提交的时候才关联上。
看看 IDE 吧 http://www.jetbrains.com/ruby/
我想到 3 种方法
3 个都能达到目的,看你想要放在哪个阶段处理。
楼主现在是怎么处理 link 的?
crontab 是怎么写的?sh 跟 bash 是不同的。
Turbolinks 向导
http://blog.chloerei.com/articles/48-turbolinks-guide
这是总集篇,包含了之前的所有实践总结,估计我近期不需要再写 Turbolinks 了。
可能你 sudo 环境用的 gem 和用户环境的 gem 不是一个,比如 sudo 用的是系统 gem,用户环境的是 rvm 安装的 gem。
这得好好看书或文档了。
attr_accessor 才是定义 getter setter。
先要注意 model 是基于什么 ORM 的,Mongoid 用 field 声明字段,ActiveRecord 不用在 modle 声明字段。attr_accessible 是 ActiveModle 提供的类宏,用来做安全过滤。
#11 楼 @goinaction %W( ) 是个数组,直接传给方法是一个数组参数,加 * 将数组展开作为多个参数传入。
#4 楼 @blacktulip 不要轻易露出 html_safe 和 raw
http://ruby-china.org/topics/12008?page=1
没贴代码之前我认为代码没写好的可能性更大,partial 我一向正常用,该用就用。
我想了想,一个 update 接口的话在发布 api 的时候有好处。做成校验的话大概是这样
validates :xxx, length: { maximum: aaa }, :if => :role_admin?
validates :xxx, length: { maximum: bbb }, :if => :role_editor?
attr_accessor :update_role
def role_admin?
update_role == :admin
end
def role_editor?
update_role == :editor
end
在 controller 调用的时候
some_object.update_attributes object_params.merge(:update_role => current_user.role_for(@project))
区分不同的 action。model 加太多校验后续加功能的时候会变成负担。更分层一点可以做些中间操作对象。