U Normalerweise behandeln Sie Params in Rails mit Formularen, wenn Sie solche Aktionen nicht ausführen (füllen Sie ein Formular aus, senden Sie es), werden Sie nicht in der Lage sein, mit ihnen umzugehen. Wenn Sie versuchen, in Ihrer Ansicht den aktuellen Wert Ihrer params[:user_id]
zu drucken, erhalten Sie vielleicht nil
, deshalb, wenn Sie versuchen, find
eine Geschichte durch die id
, die in diesem Fall nil
ist, dann erhalten Sie einige Antwort.
Versuchen Sie @stories
in Ihrem Controller und in dem entsprechenden Verfahren spezifiziert und es dann in der Ansicht verwenden, vielleicht wie:
# app/controllers/stories_controller.rb
def some_method
@stories = Story.find_by_id(params[:user_id])
...
nur zu erwähnen, soweit ich weiß, alle dynamischen Methoden mit Ausnahme find_by _... und find_by _...! sind seit der Version Rails 4 veraltet, also möchten Sie vielleicht stattdessen find_by
oder where
verwenden (siehe reference).
Sehen Sie Ihre Routen dann ich nehme an, Sie sind in ‚/ stories/User-Story/id‘ in Ihrem Navigator, und klicken Sie bitte auf irgendeine Geschichte, es zu zeigen, dann müssen Sie die Methode verwenden show
in Ihrem StoriesController
und auf diese Weise um eine solche Geschichte durch die params[:user_id]
zu finden.
Versuchen mit Geschichte. wo (user_id: params [: user_id]) –
Welche Rails-Version? –
Stromschienen, und müssen Parameter [: user_id] im Controller definiert werden? – Jay