Rails Javascript 访问静态属性

jacksv123 · 2012年04月20日 · 最后由 jacksv123 回复于 2012年04月20日 · 2247 次阅读

我在 ERB 文件里这样来访问 model value 的静态变量

PHONE_FORMAT = /^(13[0-9]|14[7]|15[0|1|2|3|5|6|7|8|9]|18[0|2|3|5|6|7|8|9])\d{8}$/

var reg=<%=Value::PHONE_FORMAT-%>;

但在页面渲染时

却变成了

var reg=/(?-mix:^(13[0-9]|14[7]|15[0|1|2|3|5|6|7|8|9]|18[0|2|3|5|6|7|8|9])\d{8}$)/;

到底怎么回事?

试试加上var reg=<%=raw Value::PHONE_FORMAT-%>;

1.9.3p125 :001 > PHONE_FORMAT = /^(13[0-9]|14[7]|15[0|1|2|3|5|6|7|8|9]|18[0|2|3|5|6|7|8|9])\d{8}$/ => /^(13[0-9]|14[7]|15[0|1|2|3|5|6|7|8|9]|18[0|2|3|5|6|7|8|9])\d{8}$/

1.9.3p125 :002 > PHONE_FORMAT.to_s => "(?-mix:^(13[0-9]|14[7]|15[0|1|2|3|5|6|7|8|9]|18[0|2|3|5|6|7|8|9])\d{8}$)"

1.9.3p125 :003 > PHONE_FORMAT.inspect.to_s => "/^(13[0-9]|14[7]|15[0|1|2|3|5|6|7|8|9]|18[0|2|3|5|6|7|8|9])\d{8}$/"

1.9.3p125 :004 > PHONE_FORMAT.inspect => "/^(13[0-9]|14[7]|15[0|1|2|3|5|6|7|8|9]|18[0|2|3|5|6|7|8|9])\d{8}$/"

@paranoyang 还是不行 这个可以

@clearJiang PHONE_FORMAT.inspect.to_s 这个可以

需要 登录 后方可回复, 如果你还没有账号请 注册新账号