Rails 3 提供了 match
方法供我们自定义 routes,然而我们要小心使用它以避免“跨站脚本攻击”(XSS Attack)。比如像这样的 routes:
注:(r3 代表 Rails 3,r4 代表 Rails 4)
# routes.rb
# 生成 dhparam.pem 文件, 在命令行执行任一方法: | |
# 方法1: 很慢 | |
openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048 | |
# 方法2: 较快 | |
# 与方法1无明显区别. 2048位也足够用, 4096更强 | |
openssl dhparam -dsaparam -out /etc/nginx/ssl/dhparam.pem 4096 |
CGRect CGRectIntegralScaledEx(CGRect rect, CGFloat scale) | |
{ | |
return CGRectMake(floorf(rect.origin.x * scale) / scale, floorf(rect.origin.y * scale) / scale, ceilf(rect.size.width * scale) / scale, ceilf(rect.size.height * scale) / scale); | |
} | |
CGRect CGRectIntegralScaled(CGRect rect) | |
{ | |
return CGRectIntegralScaledEx(rect, [[UIScreen mainScreen] scale]); | |
} |
## MAKE SURE YOU BACKUP FIRST - THIS PROCESS WILL WIPE YOUR DEVELOPMENT DATABASE | |
## e.g. using git source control and database sql export. | |
## This is not for people who don't want to have to do some manual work | |
## getting everything working. | |
## This also is not officially "supported" but we will hopefully | |
## be able to write an upgrade task later on based on feedback. | |
## Notable files that get overriden: | |
# CSS: (put yours back afterwards but remove any @import for refinery css) |
#!/bin/bash | |
## call git init | |
git init | |
## make .gitignore | |
cat > .gitignore << EOF | |
# Mac OS X Finder and whatnot | |
.DS_Store | |
# no useful files |
static NSObject *webViewcreateWebViewWithRequestIMP(id self, SEL _cmd, NSObject* sender, NSObject* request) { | |
return [sender retain]; | |
} | |
Class UIWebViewWebViewDelegate = objc_getClass("UIWebViewWebViewDelegate"); | |
class_addMethod(UIWebViewWebViewDelegate, @selector(webView:createWebViewWithRequest:), (IMP)webViewcreateWebViewWithRequestIMP, "@@:@@"); |