在Ruby on Rails中,我得到一个字符串编号由3部分组成:前缀,计数器,后缀
在模型设置中:
def self.number
prefix = setup.receipt_prefix.blank? ? "" : setup.receipt_prefix.to_s
counter = setup.receipt_counter.blank? ? "" : setup.receipt_counter+1
suffix = setup.receipt_suffix.blank? ? "" : setup.receipt_suffix.to_s
每个单独的字符串显示正常:
puts prefix
=> \ #_
puts counter
=> 1234
puts suffix
=> #$ @小号
但是当我将3个字符串加在一起时,会出现一个加法反斜杠:
prefix + counter + suffix
=> \\ #_ 1234 \#$ @小号
当我将3个字符串加在一起时,如何逃避“#”“\”?喜欢
=> \ #_ 1234#$ @小号
我可以在模型中使用任何Ruby或Rails的助手吗? THX ~~
答案 0 :(得分:1)
如果你得到的值与print(put)相符,那么字符串会有所不同。请参阅以下irb
会话。
>> a = "\\#_"
=> "\\#_"
>> puts a
\#_
=> nil
>> b = "1234"
=> "1234"
>> puts a + b
\#_1234
=> nil
>> a + b
=> "\\#_1234"
实际的字符串值中有两个反斜杠。但是如果你打印字符串,只会出现一个。