วันอาทิตย์ที่ 11 ธันวาคม พ.ศ. 2554

rails 3: How to get the old value of an attribute in Rails

Q: อยากจะได้ค่าก่อนหน้าของแต่ละ attribute ทำอย่างไร เพื่อไว้เปรียบเทียบค่าเก่า ค่าใหม่ ?

A: ให้เพิ่ม _was ต่อท้ายใน attribute นัั้นๆ ได้เลย ก็จะแสดงค่าก่อนหน้ามาให้

วันอังคารที่ 6 กันยายน พ.ศ. 2554

Excel : แทนค่า 0 ด้วยช่องว่าง

Problem : พอดี cell นั้นใช้สูตร copy มาจาก cell อื่น (=A2) แต่ cell ที่ถูกอ้าง (A2) เป็นค่าว่าง ผลลัพธ์ที่ cell ที่อ้างจึงมีค่าเป็น 0 แต่อยากจะให้แสดงเป็นค่าว่างเหมือนกัน

Solution : คลิกขวา cell ที่่อ้าง เลือก format cells ที่ Tab แรก Number ช่อง Category เลือก Custom ในช่อง Type พิมพ์ 0;-0;;@

วันอาทิตย์ที่ 28 สิงหาคม พ.ศ. 2554

rails 3: Rails Footnotes

1. gem 'rails-footnotes', '>= 3.7', :group => :development
2. create footnotes.rb in initializers
3. insert code :
if defined?(Footnotes) && Rails.env.development?
Footnotes.run! # first of all

# ... other init code
Footnotes::Filter.prefix = 'mvim://open?url=file://%s&line=%d&column=%d'
end

วันพฤหัสบดีที่ 18 สิงหาคม พ.ศ. 2554

rails 3: query_reviewer

  1. Gemfile - gem "query_reviewer", :git => "git://github.com/nesquena/query_reviewer.git"
  2. Terminal - Bundle install
  3. Terminal - rake query_reviewer:setup
  4. View - add <%=query_review_output%> in xxxxx.erb file
  5. See result following picture above

วันอังคารที่ 28 มิถุนายน พ.ศ. 2554

Rails 3: load schema to production environment

  1. Development Environment : rake db:schema:dump
  2. Production Environment : rake db:schema:load RAILS_ENV=production

วันพฤหัสบดีที่ 2 มิถุนายน พ.ศ. 2554

jQuery: การกรอกข้อมูลแบบ token field


อธิบายด้วยภาพ ไม่ต้องบรรยายต่อแล้ว ลองเล่นได้ที่


วันศุกร์ที่ 20 พฤษภาคม พ.ศ. 2554

Windows : มารู้จักกับ CAL (Client Access License)

สิทธิการเข้าใช้งานเซิร์ฟเวอร์, เซิร์ฟเวอร์/CAL และ โปรเซสเซอร์ (Server Licensing Models – Operating Systems, Server/CAL และ Per Processor) ผลิตภัณฑ์เซิร์ฟเวอร์ทั้งแบบระบบปฏิบัติการบนเซิร์ฟเวอร์และเซิร์ฟเวอร์/CAL นั้นท่านสามารถติดตั้งซอฟต์แวร์บนเซิร์ฟเวอร์นั้นๆ พร้อมทั้งจัดหาสิทธิการเข้าใช้งานเซิร์ฟเวอร์ (Client Access License หรือ CAL)ซึ่งมีทั้งแบบต่ออุปกรณ์และต่อผู้ใช้ พร้อมทั้งสิทธิการเชื่อมต่อสำหรับบุคคลภายนอกถ้ามี (External Connector หรือ EC) ซึ่งหนึ่งลิขสิทธิ์ของ EC ให้สิทธิเข้าใช้งานไม่จำกัดจำนวนเครื่องหรือผู้ใช้งานต่อเซิร์ฟเวอร์ โดยบุคคลภายนอกในแง่ลิขสิทธิ์นั้นไม่รวมถึงพนักงานที่อยู่นอกออฟฟิสหรือพนักงานชั่วคราว

วันศุกร์ที่ 1 เมษายน พ.ศ. 2554

rails 3: foreign key in migration

class ExampleMigration < ActiveRecord::Migration def self.up
create_table :products do |t|
t.references :category
end
#add a foreign key
execute <<-SQL ALTER TABLE products ADD CONSTRAINT fk_products_categories FOREIGN KEY (category_id) REFERENCES categories(id) SQL add_column :users, :home_page_url, :string rename_column :users, :email, :email_address
end

def self.down
rename_column :users, :email_address, :email
remove_column :users, :home_page_url
execute "ALTER TABLE products DROP FOREIGN KEY fk_products_categories"
drop_table :products
end

rails 3 : rake command on environment .

ใช้ parameter ที่ชื่อว่า RAILS_ENV ส่งค่าตาม environment ที่ต้องการตามตัวอย่างนี้

rake db:create RAILS_ENV=test
rake db:migrate RAILS_ENV=test
rake db:drop RAILS_ENV=test

วันอาทิตย์ที่ 13 มีนาคม พ.ศ. 2554

ruby: Can I set primary key in model ?

ให้ใช้ options hash ที่มี key ที่ชื่อว่า :primary_key ตามตัวอย่าง

create_table :countries ,:primary_key => :code do |t|
t.string :code, :limit => 2, :null => false
t.string :iso_a3, :limit => 3, :null => false
t.string :name, :null => false
t.timestamps
end

วันอังคารที่ 22 กุมภาพันธ์ พ.ศ. 2554

ruby: Failed to build the native extension in Ruby

ปัญหา
ถ้ามี error : Failed to build the native extension in Ruby หลังจากใช้ gem insatll
แก้ไข
ใช้ DevKit เพื่อแก้ไข ตามลิงก์นี้เลย https://github.com/oneclick/rubyinstaller/wiki/Development-Kit

วันจันทร์ที่ 14 กุมภาพันธ์ พ.ศ. 2554

rails 3 : Configuration for PostgreSQL


  1. ติดตั้ง PostgreSQL ใน Rails 3 โดยไปเพิ่มสองบรรทัดใน Gemfile....
    • source 'http://gemcutter.org'
    • gem 'pg', '0.9.0'
  2. หลังจากนั้นใช้คำสั่ง > bundle install
  3. ใส่ config ใน database.yml ประมาณนี้
  4. development:
    adapter: postgresql
    host: localhost
    port: 5432
    username: postgres
    password: xxxxx
    database: pg_development
    schema_search_path: test
    encoding: utf8
    template: template0
  5. ทดสอบ เข้า irb โดยใช้คำสั่ง > rails console

วันศุกร์ที่ 11 กุมภาพันธ์ พ.ศ. 2554

ruby: Install multiple version of ruby on windows

Tool ที่จะช่วยลง ruby หลายๆ version จะมี RVM (Ruby Version Management) ในการจัดการ แต่ RVM ใช้อยู่บน Linux ไม่สนับสนุนบน Windows แต่เราต้องการบน Windows ซึ่งมี Tool ตัวหนึ่งที่ชื่อ pik ที่ไว้ทำหน้าที่เหมือนกันกับ RVM เรามาดูขั้นตอนการใช้งาน
  1. gem install pik
  2. สร้าง Folder pik ไว้ที่ Drive c:
  3. จากนั้นไป set %PATH% ใน environment variable ใส่ข้างหน้าก่อน path ของ ruby
  4. หลังจากนั้นติดตั้ง pik โดยใช้คำสั่ง > pik_install c:\pik จะได้ 3 files ตามภาพ
  5. install ruby อีก version ตามตัวอย่างนี้ ติดตั้ง version 1.9.2 ไว้ที่ C:\Ruby192
  6. ต่อไปบอกให้ pik รู้อีก version โดยใช้คำสั่ง > pik add C:\Ruby192\bin
  7. ตรวจสอบ ruby ทั้งสอง version โดยใช้คำสั่ง > pik list
  8. เราจะทดสอบการติดตั้ง Rails version 3.0 บน ruby version 1.9.2 ต้องทำการ switch ruby ไปที่ version 1.9.2 โดยใช้คำสั้่ง > pik switch 192
  9. ลองตรวจสอบก่อนดูว่าเป็น version 1.9.2 หรือยัง โดยใช้คำสั่ง > ruby -v
  10. หลังจากนั้นก็ติดตั้ง rails ตามปกติ > gem install rails
  11. เรียบร้อย แต่ถ้าเราต้องการกลับไป version ก่อนหน้า ใช้คำสั่ง > pik default
อ้างอิง

วันศุกร์ที่ 21 มกราคม พ.ศ. 2554

วันอังคารที่ 4 มกราคม พ.ศ. 2554

ruby : Comment in html.erb

Comment :
single line
<%-# ................ -%>
multi-line
<% if false %>
.....
.....
.....
<% end %>