【问题标题】:devise rails adding user_id to another model设计rails将user_id添加到另一个模型
【发布时间】:2011-07-14 12:31:28
【问题描述】:

我想将设计中的 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 不会记录在我的数据库中?

【问题讨论】:

    标签: ruby-on-rails-3 activerecord controller params


    【解决方案1】:

    试试这个:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-06
      • 1970-01-01
      • 2020-11-13
      • 2016-09-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多