Ruby on Rails 與 Delphi |
|
frappe
中階會員 發表:88 回覆:114 積分:95 註冊:2008-10-21 發送簡訊給我 |
常常看到許多文章寫Delphi轉C#或是其他語言
我最近對Ruby on Rails還滿有興趣的, 研究一陣子後覺得許多觀念可以跟Delphi結合, 我本身沒寫過網頁程式,之前都是用Delphi寫資料庫程式, 所以這是我的一點點小心得,如果覺得我寫得不好歡迎指正^^ 1.Ruby on Rails為什麼號稱開發速度是Java的10倍,PHP的5倍 其實這應該沒什麼好比的,因為一個是框架,一個是語言 Ruby on Rails的Scaffold功能可以快速產生CRUD頁面 只要下一個指令就可以啦 例如: ruby script/generate scaffold product name:string description:text price:decimal 這就有點像是Delphi的感知元件,有product的TTable和name,description,price三個DBEdit ps.如果不考慮美工,我覺得好像比Delphi還快@@" 2.MVC 玩過Ruby on rails之後才知道MVC是什麼東西, 那和Delphi有什麼相似之處呢? M- Model 連結資料庫用的,很像Delphi的DataModule V- View 就是顯示的頁面,很像Delphi的Form C- Controller 就如同Delphi裡面的對於DataSet的Append,Edit,Delete都是寫在這裡, 也有Find指令,很像TTable的Filter,可以用來做搜尋的功能 先寫到這啦,未完待續........ 編輯記錄
frappe 重新編輯於 2009-07-06 20:17:25, 註解 無‧
| ||||||||
GrandRURU
站務副站長 發表:240 回覆:1680 積分:1874 註冊:2005-06-21 發送簡訊給我 |
|||||||||
pedro
尊榮會員 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
RoR爆紅我用心去學了幾個月(2007/10~2008/03),在此貼上我當時心得及心情,(也許當時看法已經不適用於目前)
儘管RoR在目前業界很夯,媒體炒得火熱。然而並未見有一股大量學習潮、企業採用也多做保留。儘管它是目前人們最希望學習的語言,可是在TIOBE index(http://www.tiobe.com/index.htm?tiobe_index)分析裡, 僅佔2~3%比例。 RoR邁向2.0,強化企業開發機制http://www.ithome.com.tw/itadm/article.php?c=46863 …新版Rails在資訊安全、交易與效能上的改進,李維認為:「讓RoR滿足企業級開發需求,不只是個人或小型開發。」但他不認為RoR會取代企業現有的開發方式,他認為RoR快速的雛形開發能力,可以協助企業解決像入口網站或對外網路服務,這類經常需要應變的開發需求,而像核心系統或複雜應用,還是需要更強的開發語言。… RailsYet To Make Dent in the Enterprise (http://reddevnews.com/news/print.aspx?editorialsid=9271) (http://raderdotnet.spaces.live.com/blog/cns!3461738A506327E!500.entry) People have strong opinions about Rails, and there's a lot of trashtalk about it," Cox observed. "Is it all FUD [fear, uncertainty, anddoubt] or is it real?"Cox說"人們對Rails有很大的意見,關於它的一些閒言閒語也很多,Rails是充滿了FUD[擔憂,不確定,懷疑](fear,uncertainly, anddoubt),還是說它是很實際的東西?" "When the criticisms are directed at Rails in general because it'swritten in Ruby, and because it's a dynamic language, then it's FUD," saidObie Fernandez. "When it's directed at Rails because it's not appropriatefor the enterprise or for applications with large domain models, then I thinkthere's more of a gray area."ObieFernandez談到:"基本上當人們直接批評Rails時,都是因爲它是用Ruby寫的,而Ruby是動態語言(dynamic language),因此Rails是充滿FUD[擔憂,不確定,懷疑]的。人們針對Rails,是因爲它不適合於企業開發,或者說它不適合有著很複雜的領域模的應用程式的開發,因此我認爲還有很多的灰色地帶(gray area)"。 Rails看似容易的框架,越是向內挖掘,越是發現很深的奧妙,這奧妙有時候是不易理解的。它集成HTML產生、Scaffold、tag_helper,使分散的一塊塊,統一納入它的管制;使用script/generate讓你把基礎建設架起來;用動態語言的優勢,自動把model的table欄位名稱對應到類別屬性。 目前Rails少了什麼?Scaffold讓你很方便建立基本的單檔增修刪,若你的資料結構少了ID這個欄位,修刪功能就失效。基本的增修刪頁面雖然陽春了點,但是確實可快速滿足在「用一次即丟」的應用程式,特別在研討會後的即時問卷場合很適用。企業需要什麼 (1)企業需要進階的查詢功能 (2)在ID帶名稱上,Rails並未支援 (3)沒有足夠的畫面視覺化編輯 (4)並沒有資料字典的概念,譬如說,欄位名稱是Total_amount,經Human_Name後是Total amount,但是慣於在中文環境下, 必須有一種統一管理的機制, 把它變成「總金額」 (5)缺少頁面繼承概念,雖然可以用<%=render :partial => 'form' %>共用部分表單,一個系統, 不同的頁面應會有基本的相同之處, 如果有繼承, 那會便於維護 (6)防呆機制需再加強,假設頁面 <%= text_area("cruncher", "crunch", {:rows => 3} ) %>正常對應到資料表的欄位,但資料表並無cruncher時,並不會引發錯誤,它仍然視為正常。 (7)資料繫結需再加強。html表單元件,和資料欄位繫結, 需有一套便於設定的辦法。 (8)Scaffold若能產生主/明細的頁面,會使實用性大大提升。 最最大的問題在ms sql server資料的存取上,在LAMP組合,有極大的困難,和既有系統整合欠佳 http://www.ruby-lang.org.cn/forums/thread-3128-1-1.html http://www.javaeye.com/topic/159903 ===================引 用 frappe 文 章=================== 1.Ruby on Rails為什麼號稱開發速度是Java的10倍,PHP的5倍 2.MVC |
||||||||
frappe
中階會員 發表:88 回覆:114 積分:95 註冊:2008-10-21 發送簡訊給我 |
|||||||||
pedro
尊榮會員 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
我學RoR在(2007/10~2008/03),也只是五個月左右,都只是學習階段,沒實際用在真實專案
後來並沒有再深入學習及挖掘,時間經過那麼久,而且目前已沒有環境可測試,現在剩下的大概只是觀念可交流, 不知道可不可以幫上您? 或許網上有這方面的前輩,可以指點您一二? 當初我依"Agile Web Development with Rails"這本書(網路上可尋找到英文或簡中電子版,請自行尋找,台灣書店裡也有中譯本),從頭看到第十幾章,就書中舉的案例,從頭練習到尾,可以看到整體面貌. 就您所提的問題,記得好像可以放變數在Model或Helper、Partial等方式,去記錄點選的資料, 如下例(請用word轉換成半形): [code ruby] #Views\look\input.rhtml <html> <head> <title>Text Area測試</title> </head> <body> <%= start_form_tag ({:action => "at"}, {:method => "post"}) %> 請輸入三個數字 <br> <%= text_area("cruncher", "crunch", {:rows => 3} ) %> <br> <input type="submit"/> <%= end_form_tag %> </body> </html> #look_controller.rb class LookController < ApplicationController def at @data_hash = params[:cruncher] @cruncher = Cruncher.new(@data_hash[:crunch]) #@cruncher = Cruncher.new(@data_hash) @data = @cruncher.crunch p @data end def input end end #Models\cruncher.rb class Cruncher attr_reader :crunch attr_writer :crunch def initialize(data) @crunch = data.split("\n") @crunch.sort! end end #Views\look\at.rhtml <html> <head> <title>Text Area輸出結果</title> </head> <body> 剛才輸入的數字依序為 <br> <%@data.each { |e| %> <%= e %><br> <% } %> <br> </body> </html> [/code] ===================引 用 frappe 文 章=================== 原來pedro大大是Ruby on Rails的高手, 我最近用RoR寫一個簡單的專案 我第一次寫網頁程式,有好多問題書上都沒教, 我有3張table 產品,人名,領用紀錄 我在新增領用紀錄的時候,需要切換產品及人名頁面去點選, 然後將點選的資料帶入領用紀錄的table 但是切換頁面的過程中,不知道要如何去儲存點選的資訊 不知道有沒有相關的範例可以參考,或有什麼關鍵字可以搜尋到相關資料?? ps.我的問題好像很白癡> < 可能是我只會Rails,Ruby根本就不熟> <
編輯記錄
pedro 重新編輯於 2009-07-24 09:45:49, 註解 無‧
|
||||||||
frappe
中階會員 發表:88 回覆:114 積分:95 註冊:2008-10-21 發送簡訊給我 |
這幾天try來try去終於把點選資料的功能完成哩,如下圖
領用人我是記錄id,要join領用人的table把姓名顯示, try了老半天都做不出來> < 我有買Agile Web Development on Rails那本書,翻來翻去還是沒什麼頭緒, 碳粉 class Cartridge < ActiveRecord::Base has_many :sells end 領用人 class Ordername < ActiveRecord::Base belongs_to :sell end 領用紀錄 class Sell < ActiveRecord::Base belongs_to :cartridge has_one :ordername end 下圖的畫面是在view/cartridges/show.html.erb裡面 我model裡面的關聯設定好了,但是不知道要怎麼去將領用人id連接name HTML不知道要如何去寫/ . \ [code xml] 機型: <%= @cartridge.machine_type %> 碳粉型號: <%= @cartridge.cartridge %> 顏色: <%= @cartridge.color %> 單位: <%= @cartridge.unit %> 廠牌: <%= @cartridge.brand %> 庫存: <%= @cartridge.inventory %> 安全數量: <%= @cartridge.safe %> /edit">編輯 領用碳粉紀錄
[/code] |
||||||||
frappe
中階會員 發表:88 回覆:114 積分:95 註冊:2008-10-21 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |