Rails von Parametern zwischen den Ansichten von link_to Tag vorbei statt submit_tags (mit sowohl auf der Seite)
-
06-07-2019 - |
Frage
Ich bin in meiner Index-Seite meiner Ruby on Rails-Programm, eine Liste der am häufigsten für die Begriffe in der Datenbank gesucht zu schaffen und damit jedes Mal, wenn ein Benutzer eine bestimmte Kategorie wählt diese in einer anderen Datenbank geschrieben wird.
Was ich möchte, dass es einen Hyperlink erstellen und eine bestimmte Menge von Parametern in eine Form übergeben, wie in der Regel mit einem select_tag, sondern nur mit einem Hyperlink geschieht, würde Ich mag eine Reihe von versteckten Feldern zu übergeben, die ich auf haben die Seite als auch, was der Benutzer ausgewählt hat.
Um Sie eine bessere Idee, im Grunde habe ich die folgende Struktur in meinem Programm:
Benutzer gibt eine Suche auf (index.html.erb
), Benutzer klickt anschließend auf Tag
Aktion wird Benutzer genommen Seite search.html.erb
und wird eine Menge von verfeinerten Kategorien angezeigt + einige Felder, Submit-Button,
Benutzer werden closest.html.erb
genommen (die durch das Aufrufen des params[:searchSelected]
und einigen anderen Parameter params aus der vorherige Form verwendet.)
Ich würde auch diese Funktionalität hinzufügen:
Mimick diese gleiche Operation, sondern in der search.html.erb
zu gehen, würde ich Sie auf eine bereits verfeinerte Suchkategorie auf der index.html.erb
Seite (von link_to
, übertragen als Parameter, die der Benutzer link_to gewählt + die verborgenen Felder aus.
Im Moment habe ich diesen Code
@stats.each do
|scr|%>
<%= link_to scr.category, :action => 'closest', :id => scr.category%>
Ich bin mir nicht sicher, ob dies relevant ist, aber ich habe derzeit die Strecken in meiner routes.rb
Datei
map.resources :stores, :collection => { :search => :get }
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
würde jemand bitte helfen Sie mir bitte? dies ist mein erster Ruby on Rails-Projekt, und ich würde wirklich einen Weg, wie um diese finden bitte
Lösung
Ich bin nicht sicher, ob dies ist, was Sie dachten, Sie können jedoch zusätzliche Parameter zum link_to Tag hinzuzufügen. Sie sind dann in der Steuerung zur Verfügung. Also:
<%= link_to scr.category, :action => 'closest', :id => scr.category, :other_param => "test" %>
Wird in Ihrem Controller zur Verfügung.
def closest
params[:other_param] == "test" #this will be true
end
Andere Tipps
verwaltet i dies zu beheben, indem die params[:id]
nehmen und dann auf den Wert entsprechend entweder meine eigenen Werte (statt der versteckten in der index.erb, die ich ohnehin manuell eingestellt hatte) eingestellt und ansonsten wie gewohnt hatte ich platziert eine regelmäßige Suche
:
<%= link_to obj.ptc_devicename ,"/wiuconfig/hd?idval=#{obj.id.to_s}&val=#{@devicetype}",:value => obj.ptc_devicename,:id =>obj.id %><br/>
Controller:
@Heading= params[:val]
@id=params[:id]
Wert wird id = 2 ist und val ist @devicetype