[RUBY] [Rails] So lösen Sie eine falsche Anzahl von Argumenten (gegeben 2, erwartet 0..1) für user_id auf

Annahme

Wo können Benutzer und Beiträge vorgestellt und verlinkt werden? (Es ist nicht erforderlich zu entwickeln, aber current_user muss durch @current_user definiert werden.)

Was ich getan habe

"**" hinzugefügt, indem auf [hier] verwiesen wird (https://teratail.com/questions/218921)

@gear = Gear.new(
  **gear_params,
  user_id: current_user.id
)

⇒ Durch den mysteriösen Fehler versenkt "Hash-Schlüssel" "ist kein Symbol"

Ich habe alles ohne die Methode gear_params geschrieben

@gear = Gear.new(
      category: params[:category],
      name: params[:name],
      maker: params[:maker],
      price: params[:price],
      memo: params[:memo],
      user_id: current_user.id
      )

Aus irgendeinem Grund wird es zurückgesetzt und nicht in der Datenbank gespeichert. .. `ActiveRecord :: RecordInvalid (Validierung fehlgeschlagen: Benutzer eingeben`` (ungelöst)

Lösungen

Wenn Sie es vollständig separat schreiben, müssen Sie nicht an Hash als Symbol denken.

def create
    @gear = Gear.new(
      gear_params
      )
    @gear.user_id = current_user.id
      .
      .
      .
end

Die Seite, die ich als Referenz verwendet habe

Weil ich beim Speichern eines Beitrags aus dem dem Benutzer zugeordneten Modell gestolpert bin. Als Memorandum

Ergänzung

gear_params schreibt:

  private
  def gear_params
    params.require(:gear).permit(:category, :name, :maker, :price, :memo)
  end

Recommended Posts

[Rails] So lösen Sie eine falsche Anzahl von Argumenten (gegeben 2, erwartet 0..1) für user_id auf
ArgumentError (falsche Anzahl von Argumenten (gegeben 0, erwartete 1)) Fehlermeldung
Was tun, wenn ein Argumentfehler auftritt? Falsche Anzahl von Argumenten (gegeben 2, erwartete 0) in Ihrem RSpec-Test
Zusammenfassung zum Schreiben von Anmerkungsargumenten
So bestimmen Sie die Anzahl der Parallelen
Verwendung von JQuery in Rails 6 js.erb
Was tun, wenn in bind.pry eine falsche Anzahl von Argumenten angezeigt wird?
Wie schreibe ich Rails
[Rails, JS] So implementieren Sie die asynchrone Anzeige von Kommentaren
[Rails] So ändern Sie den Spaltennamen der Tabelle
So deinstallieren Sie Rails
[Rails] So erhalten Sie den Inhalt starker Parameter
Zusammenfassung der Implementierung von Standardargumenten in Java
[Rails] So zeigen Sie eine Liste der Beiträge nach Kategorie an
[Rails] So schreiben Sie user_id (externer Schlüssel) in einen starken Parameter
[Schienen] Wie poste ich Bilder?
[Rails] Verwendung von Enum
[Rails] Verwendung von Enum
Wie man Schienenrouten liest
Verwendung von Rails Join
Wie man mit html.erb nummeriert (nummeriert)
So beenden Sie den Rails-Server
Wie schreibe ich Rails Seed
[Rails] Verwendung der Validierung
[Schienen] So deaktivieren Sie Turbolinks
[Rails] So verwenden Sie authenticate_user!
[Rails] So implementieren Sie Scraping
[Schienen] Wie man Samen macht
Wie schreibe ich Rails Routing
[Rails] So installieren Sie simple_calendar
[Rails] So installieren Sie reCAPTCHA
[Schienen] Verwendung von Scope
[Rails] So erhalten Sie die URL der Übergangsquelle und leiten sie um
[Webpacker] Zusammenfassung der Installation von Bootstrap und jQuery in Rails 6.0
[Rails / Heroku / MySQL] So setzen Sie die Datenbank der Rails-App auf Heroku zurück
[Rails] So lassen Sie die Anzeige der Zeichenfolge der link_to-Methode weg
[Schienen] So ändern Sie den Seitentitel des Browsers für jede Seite
[Rails] Wie man Edelstein "devise" benutzt
[Schienen] Verwendung von Geräten (Hinweis)
[Rails] Verwendung von Flash-Nachrichten
[Rails] Anzeigen von Datenbankinformationen
[Schienen] So verhindern Sie den Bildschirmübergang
Verwendung von Ruby on Rails
So stellen Sie Bootstrap auf Rails bereit
[Rails] So beschleunigen Sie das Docker-Compose
Verwendung von setDefaultCloseOperation () von JFrame
[Schienen] So fügen Sie neue Seiten hinzu