http://www.sinatrarb.com/faq.html require 'sinatra' helpers do def protected! return if authorized? headers['WWW-Authenticate'] = 'Basic realm="Restricted Area"' halt 401, "Not authorized\n" end def authorized? @auth ||= Rack::Auth::Basic::Request.new(request.env) @auth.provided? and @auth.basic? and @auth.credentials and @auth.credentials == ['admin', 'admin'] end end get '/' do "Everybody can see this page" end get '/protected' do protected! "Welcome, authenticated client" end LOGIN FORM (GET LOGIN METHOD) <form method="post" action="/login"> <p><label>Username</label><input name="post[username]" /></p> <p><label>Password</label><input name="post[password]" type="password"/></p> <p><button type="submit">Login</button></p> </form> POST LOGIN METHOD post '/login' do if authenticate(params["post"]["username"], Digest::MD5.

繼續閱讀

** tableize rails console下,執行"Post".tableize 得到posts,table名稱 sinatra 在tux下執行 ** singularize 複數變單數 執行上方式同上 ** pluralize 單數變複數 執行上方式同上 http://api.rubyonrails.org/classes/ActiveSupport/Inflector.html

繼續閱讀

基本上,很多人用 rank db:migrate, 看日本的範例是直接開mysql資料庫,那時候不懂,他的做法出乎意外,因為大部份的範例不是這樣,現在才知道為什麼。 rank db:create_migration NAME=xxx 建立後,再改xxx.rb檔,設完後,rank db:migrate就產生大問題了! 在開發環境,用sqlite3, 是的,可以用,但到正式mysql資料庫,能用,但編碼是litaxxxx ….不是UTF8;那在xxx.rb 文件內強制設定option create_table :tops, options: ‘DEFAULT CHARSET=utf8’ 當然就不發生錯誤,但回到sqllite3就錯了!因為sqlite3沒支援這語法……那這樣怎麼處理? 寫程式,因為xxx.rb,是ruby語法。 但這樣有比較快嗎? 還是直接把 cretae table schema和insert sql直接另外做文件,進mysql和sqlite3執行sql比較快…. mysql 當然更快是直接把table名稱改掉,新增 新的table; sqlite3 直接copy一個新的sqlite3,進去刪掉table更快… 也許是我不了解rank db,但目前的了解就是這樣子…. 另外有試著把mysql的db,需設成utf8,但租的主機有時候是不能亂改的…..哈,無解

繼續閱讀

http://stackoverflow.com/questions/6651275/what-do-the-mean-in-this-database-yml-file The & marks an alias for the node (in your example &defaultaliases the development node as “default”) references the aliased node with the name “default”. «: inserts the content of that node. test: &test «: *default default_env: «: *production

繼續閱讀

https://gauntface.com/blog/2014/02/05/cordova-web-best-practices-v2-0 http://spiritmachineblog.tumblr.com/post/41432461669/a-simple-openlayers-app-with-yeoman-sinatra-mongodb HTML5 Boilerplate Sass with Compass Modernizr http://thibaultdenizet.com/tutorial/cors-with-angular-js-and-sinatra/ 簡單說:發現現在要走moble app,要有yoeman的產生的網頁檔,或是 走Angular.js, jquerymobile, bootstrap三個來做。 新增、修改、刪除 走Restful,看上面範例。這樣產出來的網頁能適用 手機和平板。 但要把 程式轉成可以用cordova,要用Compass之類的,把所有的js, css, html5 三個檔。 http://vimeo.com/35998909 https://www.youtube.com/watch?v=e4yUTkva_FM https://www.youtube.com/watch?v=wVntVkRLR3M bit.ly/zen-ng-phonegap Angular UI部份 這看起來有點像官方Angular原生 http://angular-ui.github.io/bootstrap/ 這是另一個整合好Bootstrap and Angular JS http://mobileangularui.com/ 這是angular+ionic http://ionicframework.com/ http://ionicframework.com/docs/overview/#download http://ionicframework.com/docs/components/ ================== **SASS (Sass) **require jquery.mobile 21:13 http://demos.jquerymobile.com/1.2.0/ http://demos.jquerymobile.com/1.2.0/docs/pages/page-anatomy.html css style => data-role %meta{name: ‘viewport’, content: ‘width=device-width, initial-scal-1’) http://demos.jquerymobile.com/1.2.0/docs/lists/lists-collapsible.html **haml http://html2haml.heroku.com/ ===== phonegap 41:01 開一個android專案,但只是把網頁load進來…..真是簡單 www/index.html script include: phonegap-1.3.0.js onBodyLoad(){ document.addEventListener(“dviceready”, onDeviceready, false); windows.

繼續閱讀

如果是用 require “sinatra” require “active_record” require ‘mysql2’ 用底下設定比較快 ActiveRecord::Base.configurations = YAML.load_file(‘database.yml’) ActiveRecord::Base.establish_connection(‘production’) 用 require “sqlite3” ActiveRecord::Base.establish_connection( :adapter => ‘sqlite3’, :database => ‘blog.db’ ) 注意:database.yml 要像底下,關健字不一樣,就不能用 production: adapter: mysql2 database: host: localhost username: password:

繼續閱讀

ruby php implode

ostr = '{ "data": [' articles = Article.order("created_at DESC") ostr = ostr + articles.map{|f| ' ["' + f.title.chomp + '", "' + f.file_url + '"] '}.join(', ') ostr = ostr + "]}" map 會把activerecord取出來,設給f 然後組字串,最後加上join 這樣就像implode功能,效果很好~~

繼續閱讀

作者的圖片

Sue boy

Sueboy Can support You

CIO

Taiwan