有人可以帮我理解Rails引擎和可安装应用程序之间的差异吗?在Rails 3.1中,您可以使用"rails new plugin _ __ "命令创建任一个.
rails plugin new forum --full # Engine
rails plugin new forum --mountable # Mountable App
Run Code Online (Sandbox Code Playgroud)
你什么时候想要使用一个?我知道你可以将Engine打包成一个宝石.可安装应用程序的情况不是这样吗?还有什么其他差异?
ruby-on-rails-plugins rails-engines ruby-on-rails-3 ruby-on-rails-3.1
我正在向运行express的节点服务器发送CORS ajax请求.在服务器日志和js控制台中,我可以看到预检OPTIONS请求成功.
然后,主要请求也在服务器上成功,并以200响应,我认为是正确的标题.但是,在Chrome中,网络标签将后一个请求报告为"已取消",并且不接受或处理响应:
XMLHttpRequest无法加载http://myserver.com/upload.Access-Control-Allow-Origin不允许使用Origin http://mysite.com.
以下是为请求和响应打印出标题的服务器日志:
76.79.201.210 - - [27/Jun/2013:23:23:17 +0000] "OPTIONS /upload HTTP/1.1" 204 0 "http://mysite.com/add" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36"
START
{ host: 'localhost:5001',
connection: 'close',
'content-length': '109587',
origin: 'http://mysite.com',
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36',
'content-type': 'multipart/form-data; boundary=----WebKitFormBoundaryBZA4TATeeVWMHArH',
accept: '*/*',
referer: 'http://mysite.com/add',
'accept-encoding': 'gzip,deflate,sdch',
'accept-language': 'en-US,en;q=0.8' }
{ 'x-powered-by': 'Express',
'access-control-allow-origin': '*',
'access-control-allow-methods': 'GET, POST, PUT, DELETE, OPTIONS', …Run Code Online (Sandbox Code Playgroud) 给定一个返回数组的方法,另一个接受任意数量的参数,有没有办法用数组的每个元素作为参数调用第二个方法?
例如:
def arr
["a", "b", "c"]
end
def bar(*args)
args.each {|a| puts a}
end
Run Code Online (Sandbox Code Playgroud)
我想打电话
bar "a", "b" , "c"
Run Code Online (Sandbox Code Playgroud)
当然这是一个简化的例子,实际上arr可以返回任何大小的数组(比如说它是一个ActiveRecord查找,我想将所有结果传递给bar),因此我的问题.
有没有一种方法可以“展平”嵌套模块,以便在扩展另一个类或模块时可以使用它们的所有方法?例如:
class User
extend UserStats
end
module UserStats
module Current
def active
where('status = "active"')
end
end
end
Run Code Online (Sandbox Code Playgroud)
我希望能够扩展UserStats(或User),以便UserStats :: Current中的方法可用作User的类方法。
我在UserStats中尝试了“ extended Current”,但这似乎不起作用。有什么办法吗?