2016-12-14 53 views
0

所以我堅持一個小問題,而從Rails 3.2遷移遺留項目4.2 裏面我們的一個視圖(ERB),(Rails 3.2內聯樣式在軌道4,5 ERB

html_safe(truncate(job_profile.description + '&nbsp;&nbsp;<font color="#999">[ ' + list.join(', ') +' ]</font>', :length => 100)) 

產生的代碼以下文字:

Rails_3_version

,如果現在還不清楚job_profile.description解析爲Test,同樣list.join(', ')English Listening Comprehension 現在的Rails 4.2相同的代碼產生以下:

Rails_4_version

試了很多選項來重現原作的結果,但沒有成功。建議?

回答

0

做到這一點,而不是

truncate(job_profile.description + '&nbsp;&nbsp;<font color="#999">[ ' + list.join(', ') +' ]</font>', :length => 100).html_safe 

raw(truncate(job_profile.description + '&nbsp;&nbsp;<font color="#999">[ ' + list.join(', ') +' ]</font>', :length => 100)) 

希望幫助!

+0

已經嘗試過使用'raw' /移動'html_safe'到最後。雖然沒有工作。 Thanx爲輸入反正! –

0

好,我想我發現一種解決方案,是產生問題,當包括nbsp;和內嵌樣式整個文本被縮短由於截斷使用truncate超過html_safe包含特殊字符。

切換html_safetruncate的順序稍微解決了這個問題。現在它會首先截斷,然後應用html_safe。但是,如果包含所有特殊字符的總長度增加了截斷限制,仍然會產生不良結果。一點努力產生了幾乎正確的結果。

html_safe(job_profile.description.truncate(100) + '&nbsp;&nbsp;<font color="#999">[ ' + truncate(list.join(', '), length: 100-(job_profile.description.length)) +' ]</font>') 

多一點的定製,考慮到賬戶的三個點...每截生產,並根據需要一個會得到確切的結果。