2012-05-06 3 views
0

그래서 저는 로컬 컴퓨터에 내 붙여 넣기 응용 프로그램을 빌드하고 있었고, 저를 괴롭혔던 작은 문제를 발견했습니다. 구문 강조 방법을 알아야합니다. PHP, 나는 사용자의 선택 전달할 수 :html 드롭 다운을 사용하여 레일스에서 ​​사용자 선택을 결정하십시오.

<select name="paste_syntax"> 
<option value="ruby">Ruby</option> 
<option value="c">C</option> 
<option value="html-xml">HTML/XML</option> 
<option value="php">PHP</option> 
</select> 

및 구문을 강조하기 위해, 여기에 선택된 변수를 전달하는 $ _POST를 사용합니다. 예 :

그러나 레일스에서는이 작업을 수행하는 방법을 잘 모르겠습니다. 모든 붙여 넣기 구문 옵션을 포함하는 paste_syntax 테이블에 연결되어있는 붙여 넣기 테이블에 붙여 넣기 열을 만들려고했습니다. 2 명이 연결되어 있습니다. 내 질문은, 내가 이것을해야 하는가, 아니면 다른 방법이 있는가? 도움을 주시면 감사하겠습니다. ~ 아딜

+0

당신이를 미리 선택을 찾고 계십니까 이전에 선택한 옵션? –

+0

예, 사용자가 새로운 붙여 넣기 페이지에서 'Ruby'를 선택하면 다음 페이지 (이 경우 붙여 넣기 페이지)에서 붙여 넣기가 Ruby 코드로 강조 표시됩니다. – Adil

답변

1

I'd use syntax highlighter 다음 나는이에 대한 레일을 괴롭히지 않을 것입니다,하지만 당신은 예를 들어 어떤 jQuery를 함께 코드에 클래스를 변경하여 강조 표시를 변경할 수 있습니다

# coffeescript 
jQuery -> 
    $('#syntax').change (ev) -> 
    selection = $(ev.target).val() 
    $('#code').removeClass().addClass('brush: ' + selection); 


-# haml 
= select_tag :syntax, options_for_select([['ruby', 'ruby'], ['c', 'c']]) 
%pre#code{class: 'brush: ruby'}= "def ok \n puts 'ok'\nend" 
관련 문제