Ruby / Rails:为实例变量赋值

时间:2013-05-01 10:12:12

标签: ruby-on-rails ruby model variable-assignment instance-variables

将属性值分配给(模型)实例变量的最简单方法是什么,当这些属性值位于包含通常模型属性值的大散列(session [:some_big_hash])中时,还有其他键值对(不属于模型)?

情况如下:

# 1. Get the user from the db:
@user = User.where(id: 1).first

# 2. Add some additional data from a hash inside the session
@user = @user.somehow_extract_the_values_for_the_model_from(session[:some_big_hash])

1 个答案:

答案 0 :(得分:0)

首先将值设置为会话时,您应该使用

session[:user_specific_attributes] = {...}

而不是将它们直接添加到会话哈希的“根”。

所以稍后,你可以这样做:

@user.foo(session[:user_specific_attributes])