参考 Sinatra 解决编码的方法
#3 楼 @xiaoronglv 其实我的意思是 用六个人天的工作量就能完成的项目根本不算项目。。。 少儿精的团队是什么样子的 这个取决于很多因素了 不一定"前后端通吃"或是“浓重的工程师文化”通常是一种互补的关系
Very Great!正想好好学习 UNIX
当然人员少而精是有好处的 但问题是 如果项目很大,人员再精也无法完成了 这个时候人数增多是必然的了。 还有“用 Rails + bootstrap 3 天搭建一个项目”这种经历就别说了 这不是做产品 这只是写程序而已,根本不值得一提。。
我觉得 Ruby 团队还是多关心点性能吧,少折腾安全性了。。
$SAFE 很少有人用。。。
#21 楼 @2forVendetta 所以我有问题都是看源码的
这样 less 的时候不是输出混乱吗
#14 楼 @2forVendetta 嗯 cookies.permanent
方法创建一个 PermanentCookieJar 对象,虽然后者继承自 CookieJar,继承了[]
方法,但是[]
里引用的是@cookies
,这个对象在 PermanentCookieJar 没有被初始化过,所以出现了 nil 错误。如果希望修复的话,其实只要在 PermanentCookieJar 实现一个[]
方法,里面引用@parent_jar
就可以了
我现在推测是死这@cookies
里面了
楼主还是试试看把第 7 行的cookies.permanent[:remember_token]
换成cookies[:remember_token]
吧
app/helpers/session_helper.rb
的第 7 行是神马内容?
你看到截图中下面一行行的那种就是 backtrace 了
#2 楼 @2forVendetta 看上去没什么问题嘛 看到 Nil 错误不是在 permanent 上,楼主还是把 backtrace 打出来看看?
为何不放在一个文件夹当中,session id 就是文件名 而内容就是 session 了 两边都可以访问? 或者是 memcached 实现,天然实现 expiration 功能?
#5 楼 @kingwkb
前面贴给你的是 2.3 的路径
ActiveRecord 3.2 的路径是
lib/active_record/attribute_methods.rb
# Returns the value of the attribute identified by <tt>attr_name</tt> after it has been typecast (for example,
# "2004-12-12" in a data column is cast to a date object, like Date.new(2004, 12, 12)).
# (Alias for the protected read_attribute method).
def [](attr_name)
read_attribute(attr_name)
end
# Updates the attribute identified by <tt>attr_name</tt> with the specified +value+.
# (Alias for the protected write_attribute method).
def []=(attr_name, value)
write_attribute(attr_name, value)
end
楼主把 cookies.inspect
和 cookies.permanent.inspect
打印出来看看?
#2 楼 @kingwkb ActiveRecord 的 base.rb 文件
# Returns the value of the attribute identified by <tt>attr_name</tt> after it has been typecast (for example,
# "2004-12-12" in a data column is cast to a date object, like Date.new(2004, 12, 12)).
# (Alias for the protected read_attribute method).
def [](attr_name)
read_attribute(attr_name)
end
# Updates the attribute identified by <tt>attr_name</tt> with the specified +value+.
# (Alias for the protected write_attribute method).
def []=(attr_name, value)
write_attribute(attr_name, value)
end
这个肯定是 ActiveRecord 里的功能吧,一般 Ruby 类不支持这种写法的