19e786a2a74377ff6e052d87fd8d1fa8

在 Rails 中設計 select 較好的實踐

2012-02-06 01:53:21 +0800xditeRuby on Rails 節點 中發起
最後由 xdite2012-02-22 07:22:39 +0800回應 , 473次閱讀

http://blog.xdite.net/posts/2012/02/06/how-to-design-select-in-rails/

這篇文章其實是兩三年的積累。用過很多方法去設計 select,但是都不是很漂亮。

週末幫忙翻修 http://startupbase.cc。終於有靈感設計出比較漂亮的 select 造法。

主要想法是透過兩套 yml 配合 Hash 去漂亮造出要的 Array。

歡迎指教。

截至 2012-02-22 07:22:39 +0800,共收到 5 條回應
6b3a9e760dc41f48e4a215a0aacacc02
jamesy829 1樓, 於2012-02-06 03:29:51 +0800回應

謝謝你的分享!試試看!

E13e24a4a8332f251c58f30559f3c176
run26kimo 2樓, 於2012-02-07 15:58:33 +0800回應

真是不錯的實踐方法~

6a3b78e05f20472aafc29aad3c4a6b4d
vkill 3樓, 於2012-02-11 22:04:18 +0800回應

我更喜欢用 symbolize

<%= f.select :job_category, Job.get_categories_values %>

我把 symbolize 改了下,重写了个gem
http://github.com/vkill/attribute_enums
就是 gem 代码写的比较烂 :(

F461bb367c04b55d5aab3fc8f82904a4
Tassandar_ 4樓, 於2012-02-20 21:42:48 +0800回應

今天正好实践了一下,确实是比较漂亮的实践。但是感觉写起来还是有些繁琐,相当于把一个数组拆成两个部分组成哈希,然后再通过哈希查找得到目标后转换回数组。有种绕了一圈的感觉,回头仔细想想觉得还是用html拼凑用helper拉出来比较顺手而且更易读。更希望有一种能直接弄在一个文件中的 key-value-text 的实践方式。

19e786a2a74377ff6e052d87fd8d1fa8
xdite 5樓, 於2012-02-22 07:22:39 +0800回應

我在開發時第一道的確會是用 Helper 快速搭建。至於 refactor 成 hash 才是第二道的手法。主要是後續就開始進入程式碼要容易維護,程式效率要能夠接受。所以才會改用這樣的設計。

需要 登入 後方可回應,如果你還沒有帳號按這裡 註冊