跳到主要內容

發表文章

目前顯示的是有「rails」標籤的文章

Rails 在CSS裡使用圖片

暴力法 反正最後都會被編譯在public下面,可以下 rake assets:precompile 指令,看看最後圖片被放到哪裡去了,通常都在 public/asset 底下,而網頁伺服器的根目錄是 public/ 所以你的css就直接把圖片定位在 /assets/ 底下,例如: .your_class { background-image:url('/assets/your_img.png'); } 非常不建議用這個方法,程式碼非常不靈活 內嵌Ruby法 在Rails裡面,你的檔案想要內嵌Ruby,只要把檔名結尾加上 .erb ,就可以最常見的就是 page.html.erb ,但可沒這麼簡單唷,就連CSS檔以可以內嵌Ruby,一樣把你的CSS加上 .erb ,譬如 style.css.erb ,這樣CSS內就可以使用Ruby了。 既然可以使用Ruby了,那就大膽的把Rails內建的Helper拿出來用吧, asset_path("img.jpg") ,就行了,例如: .your_class { background-image:url('<%= asset_path("your_img.png") %>'); } 這樣至少靈活多了,至少你不用擔心Rails編譯之後,會把你的圖檔放到Public的哪裡去,被改了什麼檔名。 SCSS法 Rails預設使用SCSS,你打開你的Gemfile就可以看到了,預設已經有 gem 'sass-rails' ,在Rails的CSS裡面取圖,我推薦這個方法,因為這個方法程式碼最簡潔: .your_class { background-image: image-url("your_img.jpg"); } 發生什麼事?沒錯使用SCSS的話, image-url("your_img.jpg"); 就行了, image-url 是Rails的Helper,可別跟CSS原生的 background-image:url(your_img.jpg); 給搞混囉 .your_class { /* 這個是Rails的Helper */ back...

Markdown to HTML(Maruku)

Maruku on Github 本文網址 純Ruby做成,可將Markdown語法轉換成HTML,latex,md...等格式,以下簡單做點介紹。 安裝 gem install maruku 先在irb下面做點測試 require 'Maruku' # => true # 設定Markdown字串 markdown_string = '#大標題' # 使用Markdown字串 建立Maruku物件 doc = Maruku.new(markdown_string) #從Maruku物件輸出HTML文檔 doc.to_html # => "\n<h1 id=\"\">大標題</h1>\n" #從Maruku物件輸出latext文檔 doc.to_latext_document # => "\\documentclass{article}\n\n% ... 至於還有哪些Methods 自己用Ruby內建的methods語法來顯示 Maruku.methods # => 一堆class methods Maruku.new.methods # => 一堆instance methods 可以再加上正規表示式來尋找 Maruku.new.methods.grep(/html/) # => 一堆HTML相關的instance methods Maruku.new.methods.grep(/latex/) # => 一堆latex相關的instance methods 與Ruby on Rails結合 在Gemfile裡面加上 gem 'maruku' 譬如你自己做個Blog,讓人使用Markdown語法來寫文章。文件從資料庫取出來,直接傳給view顯示就行了,例如文章儲存在Post資料表的content欄位 Markdown_string = Post.first.content @doc = Maruku.new(Markdown_string) 在view...