我在我的Ruby代碼串與一個反斜槓結尾:不能保持反斜線在字符串中的Ruby代碼
acc.secret_key = "ASJSJJDSJFJJFFJJFJF\"
acc.save
上面是代碼片段,當我嘗試保存使用Active記錄我得到它錯誤,我試圖添加另一個斜槓是
acc.secret_key = "ASJSJJDSJFJJFFJJFJF\\"
acc.save
但現在我在DB中有兩個斜線。我錯過了什麼?非常感謝。
我在我的Ruby代碼串與一個反斜槓結尾:不能保持反斜線在字符串中的Ruby代碼
acc.secret_key = "ASJSJJDSJFJJFFJJFJF\"
acc.save
上面是代碼片段,當我嘗試保存使用Active記錄我得到它錯誤,我試圖添加另一個斜槓是
acc.secret_key = "ASJSJJDSJFJJFFJJFJF\\"
acc.save
但現在我在DB中有兩個斜線。我錯過了什麼?非常感謝。
你在控制檯中看到這一點?如果是這樣的話,你只是看到逃避不是兩個實際的反斜槓。
string = "1234\\"
# => "1234\\"
string.length
# => 5 (if there were two \\'s the length would be 6)
string
# => "1234\\"
puts string
# 1234\
# => nil
如果您在數據庫控制檯中查找帶有轉義反斜槓的記錄,則應該看到一個反斜槓。
tests_development=> select * from tests WHERE tests.id = 1;
id | name | created_at | updated_at | public
----+-----------------+----------------------------+----------------------------+--------
1 | this is a test\ | 2013-02-05 21:44:12.339854 | 2013-02-05 21:44:12.339854 | t
(1 row)
acc.secret_key = "ASJSJJDSJFJJFFJJFJF//".to_string
acc.save
這將與backshash串推入數據庫
恐怕這不會做任何事情......字符串文字已經是一個字符串。 – iamnotmaynard
'acc.secret_key =「ASJSJJDSJFJJFFJJFJF //」。to_string'試試這個 –
你得到了什麼錯誤? – alexsanford1
我沒有得到一個錯誤,但我有兩個斜槓在數據庫中,如果我不做任何事情,只是保持「ASJSJJDSJFJJFFJJFJF \」我得到一個語法錯誤 – user1781472
數據庫中的兩個斜線是它逃避反斜槓的結果(使用另一個反斜槓)。像Dave Newton所說的那樣嘗試使用單引號,並且在db中應該還有兩個出現。 – iamnotmaynard