Bagaimana kita melewatkan parameter dalam redirect_to di rails? Saya tahu kami dapat melewati id menggunakan ini:
redirect_to :action => action_name,:id => 3
Jika saya ingin memberikan parameter tambahan seperti beberapa formulir, bagaimana mencapainya?
EDIT:
Untuk sintaks Ruby 2 Anda harus memperbarui cuplikan di atas ke:
redirect_to action: action_name, id: 3
ruby-on-rails
markiv
sumber
sumber
Jawaban:
Cukup tambahkan mereka ke opsi:
Akan menghasilkan
/thing/3/edit?something=else
sumber
Jika Anda menggunakan sumber daya RESTful Anda dapat melakukan hal berikut:
sumber
Jika Anda memiliki beberapa data formulir, misalnya dikirim ke tindakan # rumah, sekarang Anda ingin mengarahkannya ke tindakan # rumah sambil menjaga parameter, Anda dapat melakukan ini
redirect_to act_house_path(request.parameters)
sumber
redirect_to act_house_path(request.parameters.merge(key: "value"))
redirect_to act_house_path(request.parameters.except(:authenticity_token, :controller, :action, :utf8, :commit)
Anda dapat mengirimkan objek acak ke templat dengan parameter flash.
Dan kemudian mengaksesnya di templat melalui hash.
sumber
sumber
sumber
Jika Anda mencari cara untuk melewatkan parameter URL tambahan (bukan pengontrol, tindakan, id, dll), berikut adalah metode yang kuat untuk melakukannya:
Itu akan meneruskan parameter utm atau params tambahan lain yang tidak ingin Anda hilangkan.
sumber
route.rb
Kontroler apa pun yang ingin Anda redirect dengan parameter diberikan di bawah ini:
sumber
Rutekan jalur Anda, dan ambil
params
, dan kembali:sumber