Wie Sie parameter hinzufügen, um Schienen index-Aktion/Methode?
Ich soll ein parameter übergeben werden, um die index-Aktion, aber das bin ich erst immer die show-action.
Routen.rb:
Test1::Application.routes.draw do
resources :blog
end
blog_controller.rb:
def show
# code
end
def index
# code
end
Anzeigen-url senden, um zu zeigen, action, statt auf index-Aktion:
<a href="/blog/myvar"> My link </a>
Was sollte ich in der Routen-Datei oder in Sicht?
Ausgabe meiner Strecken:
$ rake routes
blog GET /blog(.:format) {:action=>"index", :controller=>"blog"}
blog GET /blog/:id(.:format) {:action=>"show", :controller=>"blog"}
- nicht sicher, ob ich verstehe. Sie möchten ein parameter übergeben werden, um die index-Aktion?
- ja, um die index-Aktion, wenn Sie andere Wege bitte schreiben
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der Befehlszeile zeigen Sie Routen, die Sie verwenden können, mit
rake routes
Die route, die Sie wollen, ist
blogs_path
und Sie können einen parameter hinzufügen, um das, z.B.blogs_path(other_item => :value)
.Genau wie hängt davon ab, ob Sie versuchen, verwenden Sie es in einem controller, einer anderen Ansicht, etc.
Für die Ansicht haben:
<%= link_to 'My Link', blogs_path(:other_item => value) %>
Klingt es wie Sie wollen 2 Routen:
Aber, so schlau wie Schienen ist, es kann nicht herausfinden, ob die param soll behandelt werden wie ein other_param oder als id.
Also die einfachste Lösung ist, diesen Weg zu den Ressourcen, Standardwerte etwa so:
So Schienen weiß, dass, wenn Sie gehen, um /blogs/other_param/Strom, dann wird es behandeln aktuelle als :other_param.
Folgenden code verwenden, um pass parameter:
oder
obige code-redirect auf die index-action, die mit Namen als Schlüssel und test-parameter,