Как настроить связь между пользователями и сообщениями? - PullRequest
1 голос
/ 15 июля 2011

У меня есть has_many :posts, :dependent => :destroy в моем user.rb и belongs_to :user в моем post.rb, в моем пост-переносе у меня есть t.references :user и add_index :posts, :user_id, а затем в моем маршруте1006 *

Как мне сделать так, чтобы, когда я вошел в систему как пользователь и сделал сообщение, я мог использовать пользователя user.posts и получить доступ к этим сообщениям?

Ответы [ 2 ]

1 голос
/ 15 июля 2011
respond_to :html

def index
  @posts = current_user.posts
end

def new
  @post = current_user.posts.new
end

def edit
  @post = current_user.posts.find params[:id]
end

def create
  @post = current_user.posts.new params[:post]
  @post.save
  respond_with @post
end

def update
  @post = current_user.posts.find params[:id]
  @post.update_attributes params[:post]
  respond_with @post
end

def destroy
  @post = current_user.posts.find params[:id]
  @post.destroy
  respond_with @post
end
0 голосов
/ 15 июля 2011

Альтернативой является:

def create
  if current_user.posts.create!(params[:post])
    # success
  else
    # validation errors
  end
end

Суть в том, что вы хотите, чтобы сообщение имело внешний ключ с именем user_id, который связывает его с объектом пользователя.Делая current_user.posts..., он автоматически связывает два.

...