разработайте рельсы, добавив user_id к другой модели - PullRequest
2 голосов
/ 14 июля 2011

Я хочу добавить current_user.id из устройства в другую модель ...

модель вопроса:

    class Question < ActiveRecord::Base
  belongs_to :user
  attr_accessible :content

  validates :content, :presence => true
end

модель пользователя:

    class User < ActiveRecord::Base
  has_many :questions
  # Include default devise modules. Others available are:
  # :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable

  # Setup accessible (or protected) attributes for your model
  attr_accessible :email, :password, :password_confirmation, :remember_me
end

мой вопрос миграции:

class CreateQuestions < ActiveRecord::Migration
  def change
    create_table :questions do |t|
      t.string :content
      t.date :deadline
      t.integer :user_id

      t.timestamps
    end
  end
end

В моих вопросах контроллер:

def create

    params[:question][:user_id]=current_user.id

    @question = Question.new(params[:question])
    if @question.save
      redirect_to questions_path, :notice => "Successfully created question."
    else
      setup_questions
      render :index
    end
  end

Когда я сохраняю вопрос, current_user.id не будет записан в моей базе данных?

1 Ответ

8 голосов
/ 14 июля 2011

Попробуйте вместо этого:

def create

  @question = Question.new(params[:question])
  @question.user_id = current_user.id
  if @question.save
    redirect_to questions_path, :notice => "Successfully created question."
  else
    setup_questions
    render :index
  end

end
...