Showing posts with label ruby on rails. Show all posts
Showing posts with label ruby on rails. Show all posts

How to check date range on rails?

  • 0
(Time.now.to_date - 2.days.ago.to_date).to_i

Description :
Time.now.to_date we will get date now with format : Fri, 5 Aug 2014
use to_i to return range date

Flash di Rails tidak bekerja ?!

  • 0
Beberapa waktu lalu saya menemukan bugs di aplikasi rails tentang flash. saya cek, ternyata flash nya menghilang di salah satu contoller!. mengapa bisa begitu? lihat alur nya.

    Controller1 (redirect to Controller2) --> #flash here!! Controller2 (redirect to Controller3)   -->      #no flash!! Controller3        

Saya menggunakan sekitar lebih dari satu redirect dan flash nya terhenti di tengah tengah.

Dari beberapa sumber saya menemukan caranya agar flash tetap terkirim sampai akhir yaitu menambahkan:

flash.keep(:notice) sebelum script redirect di Controller2.

Tambahan!!

ketika kita menggunakan rendering maka tambahkan now pada flash.

ex :    flash.now[:notice] = "This is Notice guys!!!"  

tapi ketika kita menggunakan redirect maka jangan gunakan now!

Baru!

Ketika berpindah ke halaman lain, tetapi notice nya tidak menghilang. maka coba gunakan kondisi :

if flash[:notice]
  flash.keep(:notice)
end

Delete Data di Rails Console

  • 0
Kali ini saya mau berbagi bagai mana caranya mendelete data di console. kenapa harus di console? kenapa gak langsung di phpmyadmin atau lain sebagainya?.

terkadang kita terlena akan bentuk GUI dari suatu program, alhasil ketika kita main di server dan tidak ada bentuk GUI nya sama sekali, yah mau tidak mau kita harus menggunakan console!

ok yang belum tau caranya masuk ke console di rails bisa lihat di postingan ini 

http://achmad-rifaldi.blogspot.com/2013/08/query-update-on-rails.html

selanjutnya jika sudah masuk ke console


User.find(1).delete #or User.find(1).destroy
nah jika kita ingin mendelete lebih dari satu data kita bisa menggunakan cara ini


user = User.where(:account_id => 1)                                                                                              User.delete user.map { |u| u.id } or User.destroy user.map { |u| u.id }
Sumber :

http://stackoverflow.com/questions/5761377/rails-given-an-array-of-items-how-to-delete-in-the-console

http://stackoverflow.com/questions/7069221/delete-a-record-from-console-ruby-on-rails

Calendar Date Select for Rails

  • 0
Ada berbagai macam cara untuk menambahkan fasilitas Date Picker pada aplikasi rails kita. Diantaranya kita bisa menggunakan JQuery UI atau pun menambahkan Plugin atau Gem Calendar Date Select.

Untuk kali ini saya akan berbagi bagai mana caranya menambahkan fasilitas Date Picker dengan menggunakan Plugin atau Gem Calendar Date Select.

Pertama!

Install Pluginnya terlebih dahulu


git clone git://github.com/timcharper/calendar_date_select.git vendor/plugins/calendar_date_select && rm -rf vendor/plugins/calendar_date_select/.git

atau jika ingin menggunakan Gem, tambahkan kode berikut ke dalam Gemfile


gem 'calendar_date_select', :git => 'git://github.com/paneq/calendar_date_select.git'

selanjutnya jalankan perintah 'bundle install'

Kedua!

Bagi yang menggunakan Gem jalankan perintah ini

'run rake calendar:install'

Ketiga!

Tambahkan <%= calendar_date_select_includes %>  sesudah  <%= javascript_include_tag :defaults%> di  layout/application.html.erb


Keempat!

Tambahkan <%= f.calendar_date_select "calendar" %> ke dalam view.



Sumber :

https://code.google.com/p/calendardateselect/

http://stackoverflow.com/questions/3979495/using-calendar-date-select-with-rails-3

Will Paginate Condition In Rails 3

  • 0
will paginate di rails 3 memiliki beberapa perbedaan, jika di rails 2 "paginate" hampir sama dengan "find", tetapi di rails 3 berbeda.

Contoh Script:

conditions = ["condition what!"]
order_by = ["order by what!"]
a = current_user.a

for rails 2:

@A = a.paginate(:page => params[:page], :per_page => @per_page, :conditions => conditions, :order => order_by)

for rails 3:

a = current_user.a
@A = a.find(:all, :conditions => conditions, :order => order_by).paginate(:page => params[:page], :per_page => @per_page)

jika condition atau order tidak dibuat variabel terpisah maka kita bisa menggunakan where atau order sesuai ketentuan di rails 3

Query Update On Rails

  • 0
Untuk melakukan query update di rails kita tidak perlu repot masuk ke phpmyadmin atau sebagainya cukup lakukan ini :

1. Masuk ke console

  • Rails 2 -> ruby script/console
  • Rails3 -> rails s
2. Cari user yang akan di update
       user = User.find_by_email("achmadrifaldi64@gmail.com")

3. Lakukan perintah update
      User.update_attribute(:alamat, "Bandung")

Catatan :
update_attribute(:field , "new") -> hanya satu attribute yang di update
update_attributes(:field => "new", :fields => "news") -> attribute yang di update lebih dari satu

TAMBAHAN!

Di Rails3 untuk mengupdate semua data pada field dan table tertentu, kita tidak perlu merubahnya satu persatu,cukup menjalankan perintah berikut:

User .update_all(:status => 'active')