Ich arbeite an einem Rails 4-Projekt und habe derzeit einen Kommentarabschnitt, der an einen Gruppenabschnitt gebunden ist - die Gruppe ist fast wie ein Blog. Ich brauche die Gruppen-ID-Nummer, die mit einem neuen Kommentar verknüpft werden soll. Ich möchte nicht, dass der Benutzer die Gruppen-ID auswählt, sondern stattdessen automatisch angezeigt wird. Ich habe dies zur Zeit in meinem Kommentar, mein Problem die letzte Form-Gruppe mit der Gruppen-ID in Form kommt:undefinierter lokaler Variablen- oder Methodenfehler - Versuch, einen Kommentar mit einem Blog zu verknüpfen
<div class="form-group">
<%= form.label :author %>
<%= form.text_field :author, autofocus: true, class: "form-control",
placeholder: "Author's Name" %>
</div>
<div class="form-group">
<%= form.label :comment %>
<%= form.text_field :comment, class: "form-control", placeholder: "Write
your hearts content" %>
</div>
<div class="hide">
<%= form.number_field :user_id, value: current_user.id %>
</div>
<div class="form-group">
<%= form.number_field :group_id, value: group.id %>
</div>
Was will ich so etwas wie das tun muß, ist: user_id, Wert: current_user.id arbeite mit jeder Gruppe. Die Benutzer-ID-Zeile funktioniert einwandfrei und ich habe keine Probleme damit. Es ist nur, dass die Gruppe Linie, die ich die folgende Fehlermeldung: undefined lokale Variable oder Methode `Gruppe‘ für # < #: 0x007f873a161fc0>
Mein Schema wie folgt aussieht: Schließlich
create_table "comments", force: :cascade do |t|
t.string "author"
t.text "comment"
t.integer "user_id"
t.integer "group_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
create_table "groups", force: :cascade do |t|
t.string "topic"
t.integer "user_id"
t.text "description"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.float "latitude"
t.float "longitude"
t.string "address"
t.string "city"
t.string "state"
end
, meine Kommentare Controller sieht wie folgt aus:
class CommentsController < ApplicationController
def new
@comment = Comment.new
end
def create
@comment = Comment.new(comment_params)
if @comment.save
redirect_to @group
else
render 'new'
end
end
def edit
end
def update
end
private
def comment_params
params.require(:comment).permit(:author, :comment, :user_id, :group_id)
end
end
Bitte lassen Sie mich wissen, wenn weitere Informationen benötigt werden. Danke für die Hilfe!
Hier werden die Modelle für Gruppen und Kommentare sind: Kommentar:
class Comment < ActiveRecord::Base
belongs_to :group
end
Gruppen:
class Group < ActiveRecord::Base
has_many :collections
has_many :comments
has_many :users, :through => :collections
validates :topic, presence: true
validates :description, presence: true, length: { minimum: 10 }
geocoded_by :address
after_validation :geocode
end
können Sie auch Quelle für Ihre Modelle Dateien Kommentar und Gruppe anzeigen. –
Was meinen Sie mit Quelle? –
Ich meine models/comment.rb –