2010-02-13 3 views
2

레일은 예를 들어 html로 ID와 기타 속성을 정의하는 데 사용되는 정의 된 패턴 집합을 가지고 있습니다. 예를 들어 <input id="project[task_attributes][]" .../>은 안에 중첩 된 <%= fields_for :task %>과 같은 결과입니다. 다른 프레임 워크에서도 마찬가지입니다.웹 사이트를 프레임 워크에서 사용하는 템플릿으로 변환하는 도구가 있습니까?

즉, 임의의 웹 페이지로 이동하여 그 구조를 보았을 때 정규 표현식 마법을 통해 해당 HTML을 템플릿으로 다시 변환 할 수 있습니다.

아무도 그런 짓을 시도한 적이 없습니까? 심지어 가능하다고 생각하십니까?

업데이트 :

나 자신이 (뿐만 아니라 위의 예와 같이 형태지만, HTML 페이지에있는 모든) 레일 응용 프로그램에 루비에만 관심이 있지만, 더 나은, 모든 가능한 있다면.

템플릿 HTML 파일 (Rails의 ERB 파일)을 생성하고 나면 수동으로 모델과 컨트롤러를 찾아 낼 수 있습니다. 생성 된 ERB 파일을 모두 비교하여 더 큰 작업 일 수있는 모델과 컨트롤러를 작성하는 방법을 찾아야합니다. 그러나 그것은 최종 목표가 될 것입니다.

+0

리엔지니어링을 원하거나 HTML 페이지 전체입니까? – Zubair

+0

Rails 모델과 컨트롤러 또는 ERB 파일 만 생성 하시겠습니까? – Zubair

+0

리버스 엔지니어링을 수행하려는 페이지의 URL을 알려주시겠습니까? – Zubair

답변

1

그것은 가능하지만 적어도 몇 인년의 "거대한 과제"입니다. 당신은 (psuedocode) 수행하는 코드 것

<form name=login> 
    <input name=user></user> 
    <input name=password></user> 
</form> 

<form name=add_comment> 
    <input name=comment></user> 
    <input name=your_id></user> 
</form> 

:

는 형태의 HTML 페이지를 감안할 때

erb = "" 
for each <form> 
    for each <input> 
     erb = erb + "<%=" + <input>.name + "%>" 

이 아닌 정확한 코드를하지만 psuedocode은 내가 말했듯이. 어쨌든 제출 단추가 각 양식에 대해 처리되는 방법을 결정해야합니다. 이걸 레일즈 컨트롤러에서 자동으로 생성되기를 원합니까?

관련 문제