Rails mendefinisikan sekelompok sihir dengan rute bernama yang membuat helper untuk rute Anda. Terkadang, terutama dengan rute bersarang, bisa sedikit membingungkan untuk melacak URL apa yang akan Anda dapatkan untuk panggilan metode pembantu rute yang diberikan. Apakah mungkin, menggunakan konsol Ruby, melihat tautan apa yang akan dihasilkan oleh fungsi pembantu? Misalnya, diberi penolong bernama seperti post_path (posting) saya ingin melihat URL apa yang dihasilkan.
ruby-on-rails
Derek Thurn
sumber
sumber
app.get "/"
kemudian hanya instance_eval metode yang diinginkan, karena mereka sekarang dilindungi secara default. Sesuatu seperti:app.instance_eval{ post_path(post) }
app.teh_path
masih berfungsi di Rails 4.0 dan berguna untuk memisahkan jalur engine dari jalur aplikasi utama.mount Spree::Core::Engine, :at => '/'
, maka Anda akan mengakses jalur melalui nama mesin, sepertiapp.spree_core_engine.some_path
. Atau, jika "engine_name" dikonfigurasi menjadi sesuatu yang berbeda seperti dalam kode ini, maka Anda akan melakukannyaapp.spree.some_path
.host
parameter seperti ini:app.article_url(my_article, host: 'mydomain.com')
Anda juga bisa
dari dalam sesi konsol untuk mengakses bantuan:
atau
sumber
Rails.application.routes.url_helpers.users_path
?Di konsol Rails, aplikasi variabel menyimpan objek sesi tempat Anda dapat memanggil path dan URL helpers sebagai metode instan.
sumber
Anda selalu dapat memeriksa output
path_helpers
di konsol. Cukup gunakan helper denganapp
sumber
Ingat jika rute Anda diberi spasi nama, Suka:
Lalu coba:
keluaran
sumber
spree
contohnya, Anda adalah malaikat yang jatuh dari surga.