Seufz ... Ich fühle mich wie ein großer Neuling auf diesem, so lässt sagen, dass ich ein paar Modelle haben:Erstellen einer created_by-Spalte und Verknüpfung mit Rails?
class Question < ActiveRecord::Base
has_many :answers
belongs_to :user
end
class Answer < ActiveRecord::Base
belongs_to :question
has_one :user
end
class User < ActiveRecord::Base
has_many :questions
has_many :answers, :through => :questions
end
so ist mein Problem, dass ich nicht weiß, wie der Benutzer zu erhalten, die die erstellt Frage und Antwort, sollte der Benutzer bestimmt werden, wenn die Frage (oder Antwort erstellt wird) erstellt wird, und der Benutzer sollte von den aktuellen Benutzersitzungen (von authlogic Benutzermodell und Controller) sieht hier kommen:
class ApplicationController < ActionController::Base
helper_method :current_user_session, :current_user
...
private
def current_user_session
return @current_user_session if defined?(@current_user_session)
@current_user_session = UserSession.find
end
def current_user
return @current_user if defined?(@current_user)
@current_user = current_user_session && current_user_session.user
end
end
Jetzt , die current_user Hilfsmethode funktioniert gut, aber wie kann ich festlegen, welcher Benutzer die Frage oder Antwort erstellt hat? wie id einfach sagen @ question.user
BTW, mein Schema für meine Frage hat eine created_by Spalte, aber wenn ich eine neue Frage erstellen bleibt es null.
ich erkannte ich die created_by Spalte verwenden möchten, aber nicht sicher, warum der Verein nicht funktioniert, und die Spalte bleibt null. –