设置对象的属性和另一个对象的属性

时间:2015-05-06 12:38:20

标签: ruby-on-rails ruby attributes

我对Ruby on rails非常新。我正在尝试将Product对象(:userid)设置为用户对象id(user.id)。到目前为止,我有这个

class Product < ActiveRecord::Base
  before_create :set_userid
  def set_userid
    self.userid = User.new(params[:id])
  end
end

在创建产品对象之前是否还有其他方法可以设置值?

2 个答案:

答案 0 :(得分:4)

Consider using associations 使用助手(如

)轻松定义模型之间的关系
Product    
belongs_to :user

User
has_many :products

答案 1 :(得分:1)

您的代码无效,因为模型无法访问params。因此,您应该在控制器的操作中分配User实例:

def your_action
  ...
  product = ...
  product.user = User.new(params[:id])