Selasa, 14 Agustus 2012

Cara Installasi Ruby on Rails


Silakan klik link ke tutorial installasi RoR dari kami di bawah ini sesuai dengan
sistem operasi yang Anda gunakan:

1. Tutorial Installasi Ruby on Rails di Windows

2. Tutorial Installasi Ruby di Linux ( Compile Source Code )
    Tutorial ini akan memberitahukan langkah - langkah installasi Ruby di Linux dengan
    compile dari source. Cara ini menurut kami efektif jika Anda ingin install hanya satu
    versi Ruby di komputer Anda.

3. Tutorial Installasi Beragam Versi Ruby di Linux dengan RVM
    Installasi dengan RVM efektif jika Anda ingin menginstall berbagai versi aplikasi
    Ruby di komputer Anda.

Text Editor & IDE untuk Ruby on Rails

Ada banyak pilihan Text Editor dan IDE yang saat ini sudah support aplikasi Ruby on Rails untuk sistem operasi Linux / Windows / Mac OS X. Tiap Text Editor / IDE tersebut menawarkan berbagai fasilitas untuk mempermudah Developer dalam membuat aplikasi Ruby on rails.

Berikut ini beberapa diantaranya:


Aptana bisa menjadi pilihan IDE untuk aplikasi Ruby on Rails, HTML5, CSS3, JavaScript, PHP and Python. Aptana IDE ini merupakan open source software.

Dapat digunakan di Sistem Operasi: Windows, Linux, Mac OS X


TextMate ini merupakan salah satu text editor favorit untuk aplikasi Ruby on Rails karena banyak fitur yang dapat mempermudah developer dalam membuat aplikasi Ruby on Rails, diantaranya fasilitas untuk Rspec ( salah satu media testing di Ruby on Rails ).

Dapat digunakan di Sistem Operasi: Mac OS X



Atom merupakan text editor yang pertama dikembangkan oleh github.com. Sudah terintegrasi dengan git dan relatif ringan ketika digunakan. Keuntungan lain dari atom editor adalah fleksibilitas untuk melakukan "custom configuration" yang sesuai dengan tagline mereka yaitu "hackable text editor".

Dapat digunakan di Sistem Operasi: Linux, OS X, Windows


Thanks buat mas Goro yang sudah merekomendasikan sublime text editor 2. Sublime ini merupakan text editor yang ringan namun canggih. Banyak fasilitas yang memudahkan kita ketika menulis code, seperti membuka file dengan search, ataupun mencari "kata" di dalam file dengan relatif cepat. 

Dapat digunakan di Sistem Operasi: Linux, OS X, Windows


Kalau Anda suka pake linux, pasti tau text editor ini :). Selain simple, gampang digunakan, ringan dan tidak menghabiskan memori, Gedit juga bisa Anda gunakan untuk edit aplikasi Ruby on Rails. Ini bisa jadi pilihan untuk Anda pengguna Linux dan suka dengan text editor yang simpel.

Dapat digunakan di Sistem Operasi: Linux



Untuk Anda pengguna Windows yang tidak suka dengan IDE seperti Aptana dan suka dengan text editor yang simpel seperti Gedit di linux, maka Anda dapat menggunakan Notepad++ untuk edit aplikasi Ruby on Rails. Walaupun fitur yang supportnya tidak selengkap Aptana, tapi Notepad++ ini lebih ringan dan tidak banyak menggunakan memori.


Demikian Text Editor dan IDE untuk aplikasi Ruby on Rails kali ini. Semoga membantu Anda dalam belajar ruby on rails.

Happy Coding.



Kamis, 09 Agustus 2012

Upload Image di aplikasi Ruby on Rails dengan gem Paperclip


Pada tulisan kali ini di belajar Ruby on Rails akan membahas mengenai upload banyak file (multiple upload file). File yang diupload bisa berbagai macam type file, bisa berupa image, text, video, audio, dan dokumen.

Untuk mempermudah kita akan menggunakan gem paperclip. Contoh kasus yang akan dibahas adalah mengenai upload gambar, misal kita punya produk, dimana produk tersebut mempunyai banyak gambar, dan kita menginginkan bisa mengupload gambar-gambar tersebut saat create produk.

Langkah pertama:
pada gemfile tambahkan script berikut:
gem "paperclip", "~> 3.0"
gem "rmagick"
gem "jquery-rails"

Langkah kedua: 
Lakukan bundle install pada console
bundle install

Langkah ketiga:
Buat migration untuk menambahkan field-field yang dibutuhkan oleh paperclip
class AddDataToProductImage < ActiveRecord::Migration
  def self.up
    add_column :product_images, :data_file_name, :string
    add_column :product_images, :data_content_type, :string
    add_column :product_images, :data_file_size, :integer 
    add_column :design_images, :data_updated_at, :datetime 
  end
  
  def self.down
    remove_column :product_images, :data_file_name
    remove_column :product_images, :data_content_type
    remove_column :product_images, :data_file_size
    remove_column :product_images, :data_updated_at
  end
end

Langkah keempat:
Jalankan migration pada console
rake db:migrate

Langkah kelima:
Rubah model product, product_image menjadi seperti dibawah:
class Product < ActiveRecord::Base
  has_many :product_images
  accepts_nested_attributes_for :product_images, :allow_destroy => true
end

class ProductImage < ActiveRecord::Base
  belongs_to :product
  
  require 'RMagick' 
  has_attached_file :data  
end

Langkah keenam:
Perubahan pada view, yaitu me-load javascript default dan merubah form
edit file: app/views/products/_form.html.erb
<%= javascript_include_tag :defaults %>

<script type="text/javascript">
  function add_fields(link, association, content) {
    var new_id = new Date().getTime();
    var regexp = new RegExp("new_" + association, "g");
    $("#"+association).append(content.replace(regexp, new_id));
  }
</script>


<%= form_for(@product, :html => {:multipart => true}) do |f| %>
  <% if @product.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@product.errors.count, "error") %> prohibited this product from being saved:</h2>

      <ul>
        <% @product.errors.full_messages.each do |msg| %>
          <li><%= msg %></li>
        <% end %>
      </ul>
    </div>
  <% end %>

  <div class="field">
    <%= f.label :name %><br />
    <%= f.text_field :name %>
  </div>
  <div class="field">
    <%= f.label :description %><br />
    <%= f.text_area :description %>
  </div>
  <div id="product_images">
    <div class="field">
      <%= f.fields_for :product_images do |detail| %>
        <%= render "product_image", :f => detail %>
      <% end %>
    </div>
  </div>
  <div class="field">
    <%= link_to_add_fields "Tambah Gambar", f, :product_images %>
  </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>
edit file: app/views/products/_product_image.html.erb
<% if !f.object.new_record? %>
  <%= image_tag f.object.data.url(:thumb) %>
<% end %>
<%= f.file_field :data %>
<%  if f.object.new_record? %>
  <%= link_to_function("Hapus", "$(this).parent('fieldset').remove()") %>
<%  else %>
  <%= link_to "Hapus gambar", delete_image_products_path(id: f.object.id), method: :delete,
  data: { confirm: 'Apakah Anda yakin untuk menghapus gambar?'  }
  %>
<% end %>

Langkah ketujuh:
Tambahkan script berikut pada app/helpers/application_helper.rb
def link_to_add_fields(name, f, association)
  new_object = f.object.class.reflect_on_association(association).klass.new
  fields = f.fields_for(association, new_object, :child_index => "new_#{association}") do |builder|
    render(association.to_s.singularize, :f => builder)
  end
  link_to_function(name, "add_fields(this, \"#{association}\", \"#{escape_javascript(fields)}\")", :class => "addField")
end

Langkah kedelapan:
Tambahkan modul delete image pada app/controllers/products_controller.rb
def delete_image
  @product_image = ProductImage.find(:first, :conditions => ["id = ?", params[:id]])
  @product = @product_image.product
  if @product  
    @product_image.destroy
    redirect_to :back, :notice => 'Gambar telah berhasil dihapus.'
  else
    redirect_to products_url, :notice => 'Gambar tidak ditemukan.'
  end
end

Langkah terakhir:
Tambahkan script berikut pada file app/views/products/show.html.erb
<% @product.photos.each do |photo| %>
  <%= image_tag photo.data.url %>
<% end %> 
Selamat mencoba :)

Referensi : http://shiningthrough.co.uk/Dynamic-multiple-image-uploads-with-Ruby-on-Rails

Sabtu, 04 Agustus 2012

Install Ruby di Linux


Ada beberapa cara untuk install Ruby di linux, diantaranya kita bisa menggunakan rvm, compile dari source ruby  dan sebagainya. Yang akan kami bahas di artikel ini adalah solusi untuk install Ruby dengan di beberapa distro linux dengan compile dari source ruby dan cara ini efektif jika anda hanya
ingin install satu versi Ruby di komputer Anda.

Jika Anda perlu install beragam versi Ruby, silakan menggunakan rvm. Cara installasi dengan
RVM dapat dilihat di :
http://www.belajarrubyonrails.com/2013/07/installasi-beragam-versi-ruby-di-linux.html

Persiapan


Langkah pertama kita akan Install paket yg diperlukan untuk meng-compile ruby.

Catatan:
Pastikan user Anda punya akses untk melakukan perinta sudo. Untuk dapat melakukan perintah sudo, user harus merupakan sudoers. Biasanya yang dapat melakukan perintah sudo adalah user anggota group wheel.

CentOS/RH/Fedora/AMI



Lakukan update repository paket aplikasi distro dengan menjalankan perintah berikut
sudo yum update
Kemudian install paket-paket aplikasi yang diperlukan untuk melakukan kompilasi source Ruby
sudo yum install -y gcc-c++ patch readline readline-devel curl git zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison iconv-devel

Ubuntu/Debian


Install paket-paket aplikasi yang diperlukan untuk melakukan kompilasi source Ruby

sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion

Gentoo


Lakukan sinkronisasi paket aplikasi dengan menjalankan perintah

sudo emerge --sync
Install paket aplikasi yang diperlukan dalam proses kompilasi source Ruby

sudo emerge libiconv readline zlib openssl curl git libyaml sqlite libxslt libtool gcc autoconf automake bison m4

Compile Source Ruby


Install libyaml


wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
tar xzvf yaml-0.1.4.tar.gz
cd yaml-0.1.4
./configure --prefix=/usr/local
make
sudo make install

Install ruby 


wget https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.1.tar.gz
tar xzvf ruby-1.9.3-pXXX.tar.gz
cd ruby-2.4.1
./configure --prefix=/usr/local --enable-shared --disable-install-doc --with-opt-dir=/usr/local/lib
make
sudo make install

          NOTES: Untuk check versi ruby terbaru beserta link downloadnya, silakan lihat disini:

          https://www.ruby-lang.org/en/downloads/

Update rubygems


sudo gem update –system

Install Rails, Bundler dan Rake

sudo gem install rails
sudo gem install bundler
sudo gem install rake