Rails - Übergabe von Parametern in link_to

Auf der Indexseite "Meine Konten" werden alle Konten aufgelistet. Pro Konto ist ein Link zu "+ Service" angegeben. Dadurch sollte der Benutzer auf die Seite / my_services / new geleitet und das Feld account_id mit der entsprechenden ID vorab ausgefüllt werden, je nachdem, auf welchen Link auf der Kontenindexseite geklickt wurde.

Ich habe Debugging (params) am Ende jeder Seite, und mit dem, was ich versuche, erhalte ich nichts anderes als: controller und: action, die in meinen Parametern für die Seite / my_services / new angezeigt werden.

Der Link, den ich versucht habe, ist folgender:

link_to "+ Service", "my_services/new", :account_id => acct.id

Ich habe dann auch Logik im Dienstecontroller:

def new
  @my_service = MyService.new
  if params[:account_id]
    @my_service.account_id = params[:account_id]
  end
end

Kann jemand bei der richtigen Vorgehensweise helfen? Ich war noch nicht in der Lage, es mit ein paar fiesen kleinen Hacky-Dingen in Gang zu bringen, die ich ausprobiert habe.

BEARBEITEN

Es stellt sich heraus, wenn jemand diese Antwort in Zukunft betrachtet, verschachtelte Ressourcen (möglicherweise mit dershallow: true Option in routes.rb) scheint der richtige Weg zu sein. Meine routes.rb für diesen Teil sieht jetzt so aus:

resources :accounts, shallow: true do
  resources :services
end

Meine Links sehen jetzt so aus:

<%= link_to "+ Service", new_service_path(:service => { :account_id => @account.id } ) %>

Antworten auf die Frage(3)

Ihre Antwort auf die Frage