繁体   English   中英

在服务器上创建子目录的完整路径

[英]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的子文件夹

干杯。

这有点令人费解,但是听起来您需要与目录名称匹配的帮助,并且对于该目录名称应该使用什么没有明确定义的规则。

如果是这样,我可以考虑以下几种选择:

  1. 预先将目录名称存储在表中并进行引用。
  2. 将目录命名约定更改为更合理的名称。
  3. 首先找到用于创建目录名称的规则,然后重新使用该代码。
  4. 重新创建规则作为假设,检查目录是否存在,如果不存在,请尝试其他假设。

在专门查找现有目录方面,检出Dir.glob 它需要一个文件遍历参数,您可以在空白处拆分,去除非字母数字字符并与splats(*)联接。

例如,伪代码: dir_name.gsub("[^a-zA-Z0-9]", "").split(/\\s/).join("*")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM