Birden çok adadan erişilebilen bir yol olmalı. Benim routes.rb
ben bu güzel çalışır ancak hiçbir şey için yolları tabloyu yüklerTakma adın adı
get '/route' => 'controller#edit', :as => 'name_a'
get '/route' => 'controller#edit', :as => 'name_b'
yaptı. Belgelerimi anladığım kadarıyla, :as
, çağrıldığında yardımcı bir yöntem tanımlar.
Yani için iki isim olan herhangi uygun bir yol yoktur benim ApplicationController
gitti ve
alias_method :name_b, :name_a
eklendi ve
routes.rb
ikinci çizgiyi kaldırıldı ama bu Uncaught exception: undefined method name_a for class ApplicationController
ile başarısız tek yol mu?
================= DÜZENLEME ==================== detaylandırılması:
ben Kullanıcıların 2 çeşit oturum, kayıt, kilitleme, vb yönetmek için Devise gem kullanın, onları Admin
ve Guest
diyelim. Gem çok iyi koymak ama doğru şekilde davranması kesin yol adları için sorar.
app
controllers
users
admin
registration_controller.rb
guest
registration_controller.rb
session_controller.rb
password_controller.rb
registration_controller.rb
Admin
ve Guest
kontrolörleri devralan: Benim durumumda
guest_user_password
ve
admin_user_password
ihtiyacı vardır. Benim durumumda, her ikisi de aynı yolun altında olduğundan, her iki adın da aynı 'kullanıcı/parola' denetleyicisine yeniden yönlendirilmesini istiyorum.
Daha da önemlisi, bu yüzden alabalıklamayı gerçekten istedim. Görünümlerimi, şifre alma denetleyicisine yeniden yönlendirirken, Admin
ve Guest
yollarıyla ilgilenip ilgilenmediğine dikkat etmem gerekir. Her ikisi de kullanıcı içindir, bu yüzden her ikisi için de user_password
'u kullanmak istiyorum.
Bu yüzden benim sorum. Ayrıca, yazdığım gibi, işler işe yaradığını da unutmayın. Sadece yazmanın en zarif yolunu bulmaya çalışıyorum.
: as => 'name_a', örneğin ad_a_path ve name_b_path gibi bir rota için kullanabileceğiniz bir takma isim yapar; –
Yani, hayır demek, yönlendirme tablosunu yüklemek için başka bir yol yoktur. :(Teşekkürler – muichkine
Neden dünyadaki farklı isimlere göre aynı yola başvurmanız gerekiyor? – Catfish