簡體   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