Today's the day

向软件大牛炫耀我会焊单片机,向硬件大牛炫耀我会写 Rails,向软硬件大牛炫耀我生物,向软硬件生物大牛炫耀我会折腾期货 -_-bbb

is-Programmer 升级到 Chito 1.0.7

断断续续折腾了很久,其实主要的工作是把 Chito  REST 化了。

更新如下:

核心

  • 基于 Rails 2.1。
  • REST 化。
  • 编辑器升级到 FCKEditor 2.6.3。

功能

  • 文章底栏实现,可以在文章下面显示可选内容。
  • 文章、评论多选删除。
  • 通过编辑器下的 “发布为页面” 按钮,可以将新文章或者已存在的文章发布为页面,也可以将已存在的页面转换为普通文章。
  • Blog 评论 RSS 和 留言 RSS, 分别为 /comments.rss 和 /messages.rss。
  • 繁体中文语言支持。 ( 仅仅是 iconv 的转换  )

修正

  • 保存并继续编辑后显示提示。
  •  解决某些 IE 浏览器下无法从文章编辑界面添加分类的问题。

插件 & 皮肤

  • 文章底栏: 本地相关文章、全局相关文章。
  • iTheme 皮肤。

 

在 is-Programmer 上测试下,没问题就打包发布了~

修改下 In Place Editing 插件

In Place Editing 这个插件代码非常简洁,却方便的实现了即时编辑的效果,不过自从从 Rails 的核心移出去之后,貌似就没有再升级过。

首先它不支持 Validate,In Place Editing 的保存不经过检查,即使你 validates_presence_of :name,也可以在 In Place Editing 中把 name 清空并保存,而且这样做了之后,由于 name 没有了文字,也没法点击编辑了。

另外它也不支持 protect_from_forgery。

虽说有个 REST In Place 插件,似乎是 In Place Editing 的替代品,其实稍微修改一下,In Place Editing 就能重放光芒了~

没法 validate 的缘故是因为它用了 update_attribute 的方法更新属性,只要改成 update_attributes 就可以了,然后检查保存是否成功,如果失败,将错误信息显示出来:

lib/in_place_editing.rb:

  1.     def in_place_edit_for(object, attribute, options = {})
  2.       define_method("set_#{object}_#{attribute}") do
  3.         @item = object.to_s.camelize.constantize.find(params[:id])
  4.         if @item.update_attributes({attribute.to_sym => params[:value]})
  5.             render :text => @item.send(attribute).to_s
  6.         else
  7.             render :text => @item.errors.on(attribute.to_sym)
  8.         end
  9.       end
  10.     end

也可以加个样式着重下错误信息:

  1. render :text => "<span style='color:red;'>#{@item.errors.on(attribute.to_sym)}</span>"

protect_from_forgery 的问题只要加上 authenticity_token 参数就可以了:

lib/in_place_macros_helper.rb:

  1.   def in_place_editor_field(...)
  2.     ...
  3.     in_place_editor_options[:url] = in_place_editor_options[:url] || url_for({ :action => "set_#{object}_#{method}", :authenticity_token => form_authenticity_token, :id => tag.object.id })
  4.     ...
  5.   end

 这样就 OK 了,效果还不错:

 

番茄花园作者被拘留

一大早就看到这消息,吃了一惊。

前两天笔记本上的 Windows 启动不了,还拿很久之前的一张番茄番茄花园的重装了下,现在已经出现了那个烦人的 “Genuine Advantage” 提示,下次重装只能用机子附带的 OEM 安装盘了,希望没被我扔掉……

难道微软看到大家都用 XP,Vista 卖不动了,所以出此损招

打击盗版是大好事,只不过和珊瑚虫一样,看到一款给大家带来着实方便的扩展,最后落得如此下场,心理有点难受。

千言万语汇成一句话: 来享受自由软件的世界吧~

 

开始锻炼

最近精力比较差……

睡觉睡不着,起床起不来。下午 2 点左右起床,一直浑浑噩噩,直到天黑才感觉进入了一点看书的状态。看书的时候还容易走神,坐不住。虽然每天都能完成列表上的任务,但是感觉做得不够认真,对付了事。到了睡觉的时间,躺在床上翻来覆去一个多小时才能睡着,然后起来接着浑浑噩噩,感觉一天没干什么就过去了……

喝咖啡,没用。喝啤酒,喝完肚子很胀。前两天没事买了瓶红酒,结果喝完,又在沙发上闷一觉……

最后察觉,也许是很久没有运动了的缘故,整天就坐着不动,唯一的运动就是骑车去上厕所,萎成这样也不奇怪了……

无奈没啥运动爱好,只好在屋里跳绳,然后出去走了一大圈,折腾了一身汗,感觉还不错。

明天继续坚持~

干了件很猛的事

下午出去买饭,外面正下着瓢泼大雨,平常一直右手拿着钥匙出门,今天右手拿着伞,就把钥匙忘在了屋里 

回来的时候,端着两盒饭,站在雨中掏钥匙,顿时石化在了那里……

最后绝望的拽着门把手,发现只要用点力,就能把门拉开一条缝,于是使足浑身力气,呲牙咧嘴的拉门,最后一声巨响,门竟然开了……

后来发现门锁完全报废了,还好屋里有个环形锁,暂时用这个来锁门。

头一次这么感谢锁的质量不好……