2017-11-16 2 views
0

I Link auf Show wie untenWie ich dynamische Routen erstellen trennen in Schienen

enter image description here

bekam I Want http://localhost:3000/admin/flipcart enter image description here

(flipcart Firmennamen so ist Ich möchte jede Firma separate Verbindung.)

Wenn ich mache http://localhost:3000/admin/flipcart so zeigt es Flippage Show-Seite ohne Login und Authentifizierung.

Also wie kann ich tun.

+1

http: // guides.rubyonrails.org/routing.html –

+1

Sie können Slug anstelle von ID verwenden. Sehen Sie sich https://gist.github.com/jcasimir/1209730 und https://hackernoon.com/using-custom-slugs-for-rails-urls-500eb3f58f3c an. Beide Artikel erklären, was Sie wollen. – Aakanksha

+0

tatsächlich habe ich Show-Seite und ich möchte eine Firma separate Seite zu Unternehmensinhaber –

Antwort

1

Man könnte so etwas wie dies in Ihrem routes.rb versuchen:

get '/admin/:company', as: :admin_company_index, to: 'admin#index' 

dann in der Steuerung lädt nur das Unternehmen durch params übergeben, bevor Sie irgendwelche Aktionen ausführen:

class AdminController < ApplicationController 
    before_action :load_company 

    private 

    def load_company 
    @company = Company.where(["name = :c", {c: params[:company]} ]) 
    end 
end 
+0

2.2.3 erstellen: 014> @company = Company.where (["name =: c", {c: "flipcart"}]) Company Load (0.3ms) SELECT "Firmen". * FROM "Firmen" WHERE (name = 'flipcart') => # Ich habe Nill Response Kannst du das erklären? –

+0

@RonakBhatt Es kann nicht sein, es zu finden, da es eine Groß-und Kleinschreibung Abfrage ist, nehme ich auch an, es gibt eine Spalte namens "name", vielleicht etwas versuchen wie: Company.first (Bedingungen: ["lower (name) =?" , params [: Firma] .to_s.downcase]) – DivXZero