你用 chrome dev tool 看看,你发的请求的 accept header,应该是'text/html'。所以浏览器不会将 rails 返回的字符串当成 js 处理。 要实现的话可以 render 一个 template,template 里面包含 js 代码,或者用 js 发起请求,请求指定是 script。
可以用 HTTP 的 Referer header
edit 的 url 可以通过 url 记录(类似淘宝,长长的 url 里面记录了登陆成功后要去的页面 url),也可以通过 cookie 记录。只要有记录,用户登陆成功后你就跳转到那个 url 就行了。
nice
在 demo 里,seesion 存放在 dev.seesion.com 里,ETAG 是 seesion_id。 session_id 从 dev.seesion.com 的 ETAG 传递到 dev.app.com 的 cookie 中, 然后在 dev.app.com 中用 cookies 中的 seesion_id 去 dev.seesion.com 取得数据,再 append 到 dev.app.com 的页面里
这相当于用 ETAG + 第三方服务 替代了 第三方 cookie?
用sanitize
这个方法
目测是turbolinks
的问题,建议去读@Rei关于 turbolinks 的文章
/\s*\|\s*/
这个匹配 ' | '
#53 楼 @blackanger 是的 44 楼跟 51 楼应该是默认外部编码,这个是我错了 话说我们好像歪楼了,LZ 都不出声了:)
所以这就是环境变量的作用啦
The default external encoding is initialized by the locale or -E option 这句话是关于你前面划掉的
后面 44 楼的回复是指你在 29 楼的回复,默认 ASCII 是源代码编码,而不是外部编码(default_external)
LC_CTYPE='US-ASCII' ruby -e 'p Encoding.default_external'
LC_CTYPE='UTF-8' ruby -e 'p Encoding.default_external'
你可以试试这个,记得将你系统对 LC 环境变量暂时注释掉先 #47 楼 @blackanger
另外 我从来没用—E 选项,麻烦看清楚点
#45 楼 @blackanger default_extrernal 的来源,你说默认是从文件得到的是吧,你可以看看 30 楼的例子
#6 楼 @Tonyhong LZ 再上图吧,需要提示的说 #29 楼 @blackanger 外部编码是 default_external,是从环境变量取得的,你说的是 ruby 自身读取源代码所用的编码方式
#31 楼 @blackanger 应该是改变源代码编码,告诉 ruby 用什么编码方式读取这个源代码文件 LZ 的错误是在第三行,应该就是有中文的那一行,是在 ruby 不能解析这个字符,所以出错了
#27 楼 @blackanger 上面那个是错的,看这个
#encoding: utf-8
Encoding.default_external = 'US-ASCII'
puts Encoding.default_external
'啊'
File.open(__FILE__, 'r') do |f|
p f.external_encoding.name
end
result:
US-ASCII
"US-ASCII"
canmatoMacBook-Pro:ruby can$ file -I encoding.rb
encoding.rb: text/plain; charset=utf-8
canmatoMacBook-Pro:ruby can$ file -I data.txt
data.txt: text/plain; charset=utf-16be
1.9.3p429 :002 > File.open('data.txt').read
=> "\xFE\xFF\u0000M\u0000y\u0000 \u0000d\u0000a\u0000t\u0000a"
1.9.3p429 :003 > File.open('data.txt', 'r:utf-8').read
=> "\xFE\xFF\u0000M\u0000y\u0000 \u0000d\u0000a\u0000t\u0000a"
1.9.3p429 :013 > File.open('data.txt', 'r:utf-16be:utf-16').read
=> "\uFEFF\uFEFFMy data"
The default external encoding is initialized by the locale or -E option.
http://ruby-doc.org/core-2.0/Encoding.html#method-c-default_external
在 unix 下应该是根据 LC_CTYPE 这类环境变量吧
#13 楼 @blackanger 默认的外部编码不是从外部环境取的吗?
#7 楼 @xmonkeycn 正解
(111..999).map { |x| x.to_s.chars.map(&:to_i) }