Rails 3 ассоциации - PullRequest
       0

Rails 3 ассоциации

0 голосов
/ 01 февраля 2012

Я пытаюсь получить user_id пользователя, который вошел в систему. Таким образом, пользователь создаст запись в блоге и захватит идентификатор пользователя при создании записи в блоге.

Я знаю, как сделать это, используя вложенные ресурсы, но как я могу получить user_id при создании нового сообщения в блоге без вложенных ресурсов?

маршруты будут выглядеть следующим образом

resources :blogs

Я также попытался добавить скрытое поле в форму блога _blog.html.erb

<%= f.hidden_field :site_id, :value => @blog.site_id %>

Ассоциация настроена правильно. Я просто пытаюсь увидеть, как получить user_id без вложенных ресурсов.Какие-либо предложения?

Ответы [ 2 ]

3 голосов
/ 01 февраля 2012

Извлечение идентификатора пользователя из текущего вошедшего в систему пользователя в методе BlogsController # create.

Пример (обратите внимание, что доступ к user_id будет зависеть от того, как вы выполняете аутентификацию)

class BlogsController < ApplicationController
  def create
    @blog = Blog.new params[:blog]
    @blog.user_id = current_user.id
    if @blog.save
      ...
    end
  end
end
1 голос
/ 01 февраля 2012

если вы используете devise / authlogic для аутентификации, то вы можете легко получить user_id, используя current_user предоставленный метод

...