2012-04-19 5 views
2

Rails 2.3.11 응용 프로그램을 Rails 3.2.3으로 업그레이드하려고 시도했지만 ApplicationHelper의이 기능은 브라우저에서 제대로 작동하지 않습니다 (콘솔 다) 괜찮 난간 : 레일 2.3.11에Rails 2.3.11 -> 3.2.3 regex가있는 간단한 gsub이 작동하지 않습니다.

def basic_markup(text) 
    if text 
    text.gsub!(/(\A|\s|\[|\()_(.+?)_/iu, '\1<em>\2</em>') 
    text.gsub!(/(\A|\s|\[|\()#(.+?)([^&])#/iu, '\1<del>\2\3</del>') 
    text.gsub!('->', '→') 
    text.gsub!('<-', '←') 
    end 
    text 
end 

text = '#strikeout# normal _italic_' 
puts basic_markup(text) 
# Rails 2.3.11 
# => "<del>strikeout</del> normal <em>italic</em>" 
# Rails 3.2.3 
# => "#strikeout# normal <em>italic</em>" 

샘플 : 레일 3.2.3에 http://moly.hu/karcok/150362

같은 : http://moly.hu:3000/karcok/150362 잘못 무엇

?

+0

보내는 텍스트에 감염되었을 수 있습니다. del 태그가 > 및 < –

+0

으로 대체되고 있는지 확인하려면 text.html_safe를 사용해보십시오. 위생 문제처럼 보이지 않습니다. 마크 업 문자가 출력에 표시됩니다. –

+0

'basic_markup (text)'을 호출하는 뷰에서 아무 것도 변경하지 않았습니까? 저기서 이상한 일이 없다는 것을 알기 위해 뷰 코드 스 니펫을 보는 것이 도움이 될 수 있습니다. 메서드 자체가 제대로 작동하는 것 같습니다. – Frost

답변

0

은 "답변이없는"필터에서이 문제를 제거하기 위해 의견에서 답을 복사 : 위의

업데이트 내 댓글에 :

Frost

는 업그레이드를 제안 난 그냥 새를 만드는 시도 rails 3.2.3 프로젝트에서이 메서드를 application_helper에 넣고 같은 텍스트가있는 뷰에서 호출하면됩니다. 뭔가 다른 것을 놓친 것 같아.

문제 해결, 어쩌면 레일 'simple_format는 2.3.11과 3.2.3 사이에 변경되었습니다 만, 지금은 제대로 실행 :

Nagy Bence은 확인했다. 의견에 감사드립니다!