将属性值分配给(模型)实例变量的最简单方法是什么,当这些属性值位于包含通常模型属性值的大散列(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])
答案 0 :(得分:0)
首先将值设置为会话时,您应该使用
session[:user_specific_attributes] = {...}
而不是将它们直接添加到会话哈希的“根”。
所以稍后,你可以这样做:
@user.foo(session[:user_specific_attributes])