[英]Creating a full path to sub-directory on a server
我目前正在使用Rails应用程序,并且最近收到了一项请求,要求增加在工作中转到服务器上子目录的功能。 即每个LINK
会将您带到smb://my/server/directory/sub-directory
问题是:说directory
是包含所有子目录的大目录。 这里有一些例子来说明我的意思。
我有3个汽车记录。 子目录由2个属性的串联组成,即carA.number的前3位数字(类似carA.number.split('-')[0]
,因为它的格式为###-####- #)和连字符,以及汽车的描述(类似于carA.description_of_car
)。 完整路径类似于smb://my/server/directory/carA.number.split('-')[0] - carA.description_of_car
如果不知道每次都会“保证”路径,如何确保将链接指向正确的子目录? 由于description属性几乎可以是任何东西,并且子目录描述是相同的,因此它可能会有多余的空格或其他内容。 例如,carA的描述可能是“ RED,CAR”,但是子目录是“ RED CAR”,因此缺少逗号,由于路径不匹配,直接链接将中断。
到目前为止,我已经尝试过了。
base_url = "smb://my/server/directory/"
car_prefix = @car.number.split('-')[0]
car_suffix = "-" + @car.description_of_car.split(' ')[0]
@full_url = base_url + part_prefix + part_suffix
显然,这是不正确的。 我想做的是在网址中添加一个通配符,以便它找到一个至少前三个数字正确的子文件夹(因为这些数字始终采用正确的格式,###-### #)
编辑:像这样:@full_url =“ smb:// my / server / directory / 123- *”将匹配车号123-RED CAR
的子文件夹
干杯。
这有点令人费解,但是听起来您需要与目录名称匹配的帮助,并且对于该目录名称应该使用什么没有明确定义的规则。
如果是这样,我可以考虑以下几种选择:
在专门查找现有目录方面,检出Dir.glob 。 它需要一个文件遍历参数,您可以在空白处拆分,去除非字母数字字符并与splats(*)联接。
例如,伪代码: dir_name.gsub("[^a-zA-Z0-9]", "").split(/\\s/).join("*")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.