Ruby 애플리케이션에서 jQuery를 실행하고 HTML 문자열을 조작하는 데 사용하고 싶습니다. (네, 그 작업을 처리 할 수있는 다른 Ruby 라이브러리가 있다는 것을 알고 있습니다 만,이 경우 jQuery를 사용해야하는 좋은 이유가 있습니다.) 이것이 가능합니까? 난 내 루비 응용 프로그램에서 간단한 자바 스크립트 코드를 실행할 수 ExecJS를 사용할 수 있다는 것을 알고 있지만, jQuery를 제대로 동작하지 않습니다 :Ruby에서 jQuery 실행하기
irb(main):001:0> require 'execjs'
=> true
irb(main):002:0> require 'open-uri'
=> true
irb(main):003:0> context = ExecJS.compile(open("http://code.jquery.com/jquery-1.9.1.js").read)
=> <Return omitted for brevity>
irb(main):004:0> context.call("$", "<div>Test</div>")
ExecJS::ProgramError: ReferenceError: window is not defined
from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:68:in `extract_result'
from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:28:in `block in exec'
from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/execjs-.4.0/lib/execjs/external_runtime.rb:41:in `compile_to_tempfile'
from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/execjs-.4.0/lib/execjs/external_runtime.rb:27:in `exec'
from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/execjs-.4.0/lib/execjs/external_runtime.rb:19:in `eval'
from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/execjs-.4.0/lib/execjs/external_runtime.rb:33:in `call'
from (irb):4
from c:/RailsInstaller/Ruby1.9.3/bin/irb:12:in `<main>'
가 어떻게이 일을 어떻게해야합니까?
Ajedi 비슷한 것을 시도하고이 질문을 던졌습니다. [웹 응용 프로그램의 서버 측과 클라이언트 측에서 비즈니스 논리를 공유하고 있습니까?] (http://programmers.stackexchange.com/questions/202567/sharing -business-logic-server-side-and-client-side-of-web-application/202586? noredirect = 1 # 202586) 알아 낸 내용을 알려주십시오! – thoughtpunch
@thoughtpunch 불행히도 나는이 시간을 훨씬 더 연장 할 시간을 가지지 않았다. 레일스 애플리케이션에서 클라이언트와 서버 측 모두를 실행하는 일종의 MVC 라이브러리를 만들면 사용자가 번거로운 AJAX 기반 페이지로드 및 동적 자바 스크립트 애니메이션을 이용할 수 있습니다. 자바 스크립트를 사용할 수 있지만 아직 실행하지 않으면 (또는 Googlebot이 표시 될 때) 모든 것이 작동합니다. 나는 내가 어떻게이 일을 할 수 있을지 모르지만 몇 가지 아이디어를 가지고있다. 아직 아무런 단서가 없다. ... – Ajedi32