【发布时间】:2013-02-28 18:20:11
【问题描述】:
我正在保存这样的哈希会话:
session[:review] = {:content => params[:review], :rating => params[:rating], :school_id => params[:school_id]}
当我像这样将它保存到数据库时:
Review.create!(:content => session[:review][:content], :school_id => session[:review][:school_id], :user_id => current_user, :rating => session[:review][:rating])
它将值保存到这样的一列中:
--- !ruby/hash:ActiveSupport::HashWithIndifferentAccess
rating: '1'
content: somehting skjnfjkbf
为什么以及如何解决这个问题?
【问题讨论】:
-
究竟是什么问题?是否在数据库中创建记录?
one column是什么意思?? -
是的,它会将其保存到数据库中,但我有这样的表:review{id, content, rating, school_id, user_id} 它使用这种形式保存所有内容:--- !ruby/hash: ActiveSupport::HashWithIndifferentAccess rating: '1' content: somehting skjnfjkbf into the content column.
-
你能粘贴
Review.last和Review.last.content的值吗?? -
params[:review] 上有什么内容?看起来 params[:review] 是一个访问无关紧要的哈希,您将其分配给“内容”,然后 rails 序列化哈希并将其保存到数据库中,您应该尝试调试您分配给的每个值中的内容创建之前的评论对象(我猜你的评分例如不在 params[:rating],它是 params[:review][:rating],内容是 params[:review][:content])你应该发布表单的代码太
-
codeit - 它返回一个字符串,arieljuod 在这里检查我的问题:stackoverflow.com/questions/15072189/…
标签: ruby-on-rails ruby ruby-on-rails-3