2017-11-20 19 views
0

html.erb 파일의 내장 루비 코드에 html 객체 속성을 전달하려면 어떻게해야합니까?HTML 객체 속성을 포함 루비 코드로 전달

내가 문자열 매개 변수를 사용할 수있는 루비 메소드 A가 있다고 가정 해 보겠습니다. 또한 A의 반환 값은 문자열입니다. 다음과 같은 시나리오를 생각해 보겠습니다.

<input type="text" id="t" value="Leaves"> 
<%= A(document.getElementById("t").value) %> 

분명히 그런 식으로 코드를 작성할 수 없습니다.

텍스트 상자의 값/텍스트를 메서드 A에 전달하고 A의 반환 값을 html 본문에 인쇄하려고합니다. 어떻게해야합니까?

또한 텍스트 상자의 값을 계속 확인하고 A의 반환 값 (텍스트 상자의 현재 값을 A로 전달할 때)을 문서 본문에 추가하려면 어떻게해야합니까? 그리고이 단락 p의 텍스트를이 반환 값으로 설정하려면 어떻게해야합니까?

답변

1

Nokogiri와 같은 HTML 구문 분석기를 사용할 수 있습니다.

frag = Nokogiri::HTML.fragment('<input type="text" id="t" value="Leaves">') 
frag.at_css('#t').attr('value') 

는하지만 대부분의 가능성이 없습니다 처음에 귀하의 의견/헬퍼 데이터를 주위에 전달하는 HTML 문자열을 사용하여 해결 될 수있는 일에 오히려 바보와 overcomplicated 솔루션처럼 보인다.

+1

오히려 어리석은! – jvillian

+0

입력의 경우 폼 빌더 개체에 바인딩해야하므로 실제로이 작업을 수행 할 필요가 없습니다. ERB 템플릿은 DOM과 비슷하지 않습니다. 그것의 단지 문자열 버퍼 및 당신은 정말로 그냥 비행 중에 문서로 조작 할 수 없습니다. – max

+0

@max 당신은 text_field_tag ​​도우미 메서드를 사용해야한다고 제안하고 있습니다. 맞습니까? 그러면 내장 루비 코드 내에서 생성 된 텍스트 필드의 값을 어떻게 검색 할 수 있습니까? (이 값을 메서드 A에 전달할 수 있도록) –