Agak telat kali yah jawabannya tapi moga-moga membantu :)

> Sebenarnya yang saya inginkan itu bukan memanggil record, makanya
> :collection itu saya sebutkan terlebih dahulu dari pada map.resources
> :speeches. Karena saya ingin upload file mp3 terlebih dahulu, lalu  
> mengambil
> informasi dari tag-nya dan supply ke form, baru create modelnya.
>
> Ternyata masalahnya karena adanya deklarasi ganda sehingga route  
> sebelumnya
> terhapus oleh yang kedua. Sehingga yang berlaku hanya map.resources
> :speeches. Maka dengan menghapus baris map.resources :speeches  
> masalahnya
> terpecahkan.
>

Iyah, dengan declare:

map.resources :speeches, :collection => {
    :upload_file => 'get'
}

Anda sebenernya sudah mendapatkan method-method REST, ditambah  
upload_file (GET) yang anda declare.

> Masi penasaran bedanya :collection, :member dan :new . Mungkin :new  
> rada
> kebayang maksudnya, tapi kalo ada contoh penggunaan akan lebih baik.
>

:collection itu bekerja seperti index, dalam arti kata collection of  
result dari controller tersebut.

Kayak misalnya /users itu kan berarti collection of users, plural.

Kalo pake contoh routes:
map.resources :speeches, :collection => {
    :upload_file => 'get'
}

method upload_file itu bekerja buat collection of speeches, /users/ 
upload_file.

:member itu bekerja pada satu member dari collection.

Url /users/1 itu kan member of collection of users, singular.

Kalo pake contoh routes:
map.resources :speeches, :member => {
    :upload_file => 'get'
}

method upload_file itu bekerja pada member of collection of speeches, / 
users/1/upload_file.

--
http://beol.laksmana.com/
http://www.plurk.com/user/beol

Kirim email ke