2010-04-15 28 views
5

Bất cứ ai khác chơi với chế độ ủi?Tải ứng dụng Rails chạy dưới giá IronRuby

Tôi đã nhận thành công dự án IronRuby.Rails.Example chạy trên máy cục bộ của tôi theo IIS 5.1. Tôi hiện đang cố gắng để có được trang web đường ray demo của riêng tôi chạy theo cùng một cách.

Web.config của tôi hơi khác so với dự án mẫu. Tôi đang cố gắng chỉ sử dụng những gì đã được phân phối với IronRuby 1.0 và những gì tôi đã cài đặt bằng cách sử dụng đá quý.

Tôi nhận được lỗi sau đó không cho tôi rất nhiều để tiếp tục:

D: /demo/config/boot.rb: 66: trong `thoát ': exit (SystemExit)

Sau khi thử nhiều thứ khác nhau, tôi nghĩ rằng có vấn đề khi tìm đá quý. Tôi đã đính kèm cấu hình web của tôi và ironrack.log. Có ai có con trỏ về những gì tôi đang làm sai?

Cảm ơn!

<?xml version="1.0"?> 
<configuration> 
    <configSections> 
     <!-- custom configuration section for DLR hosting --> 
     <section name="microsoft.scripting" type="Microsoft.Scripting.Hosting.Configuration.Section, Microsoft.Scripting" requirePermission="false"/> 
    </configSections> 
    <system.webServer> 
     <handlers> 
      <!-- clear all other handlers first. Don't do this if you have other handlers you want to run --> 
      <clear/> 
      <!-- This hooks up the HttpHandler which will dispatch all requests to Rack --> 
      <add name="IronRuby" path="*" verb="*" type="IronRuby.Rack.HttpHandlerFactory, IronRuby.Rack" resourceType="Unspecified" requireAccess="Read" preCondition="integratedMode"/> 
     </handlers> 
    </system.webServer> 
    <system.web> 
     <!-- make this true if you want to debug any of the DLR code, IronRuby.Rack, or your own managed code --> 
     <compilation debug="true"/> 
    <httpHandlers> 
     <!-- clear all other handlers first. Don't do this if you have other handlers you want to run --> 
     <clear/> 
     <!-- This hooks up the HttpHandler which will dispatch all requests to Rack --> 
     <add path="*" verb="*" type="IronRuby.Rack.HttpHandlerFactory, IronRuby.Rack" /> 
    </httpHandlers> 
    </system.web> 
    <!-- DLR configuration. Set debugMode to "true" if you want to debug your dynamic language code with VS --> 
    <microsoft.scripting debugMode="false"> 
     <options> 
      <!-- Library paths: make sure these paths are correct --> 
      <!--<set option="LibraryPaths" value="..\..\..\Languages\Ruby\libs\; 
                ..\..\..\..\External.LCA_RESTRICTED\Languages\Ruby\ruby-1.8.6p368\lib\ruby\site_ruby\1.8\; 
                ..\..\..\..\External.LCA_RESTRICTED\Languages\Ruby\ruby-1.8.6p368\lib\ruby\1.8\"/>--> 
      <set option="LibraryPaths" value="C:\IronRuby\lib\IronRuby;C:\IronRuby\lib\ruby\1.8;C:\IronRuby\lib\ruby\site_ruby;C:\IronRuby\lib\ruby\site_ruby\1.8"/> 
     </options> 
    </microsoft.scripting> 
    <appSettings> 
     <add key="AppRoot" value="."/> 
     <add key="Log" value="ironrack.log"/> 
     <!-- <add key="GemPath" value="..\..\..\..\External.LCA_RESTRICTED\Languages\Ruby\ruby-1.8.6p368\lib\ruby\gems\1.8"/> --> 
     <add key="GemPath" value="C:\IronRuby\Lib\ironruby\gems\1.8\gems"/> 
     <add key="RackEnv" value="production"/> 
    </appSettings> 
</configuration> 

=== Booting ironruby-rack at 4/15/2010 1:27:12 PM [DEBUG] >>> TOPLEVEL_BINDING = binding 
=> Setting GEM_PATH: 'C:\\IronRuby\\Lib\\ironruby\\gems\\1.8\\gems' 
=> Setting RACK_ENV: 'production' 
=> Loading RubyGems [DEBUG] >>> require 'rubygems' 
=> Loading Rack >=1.0.0 [DEBUG] >>> gem 'rack', '>=1.0.0';require 'rack' 
=> Loaded rack-1.1 
=> Application root: 'D:\\demo' 
=> Loading Rack application [DEBUG] >>> Rack::Builder.new { (
    require "config/environment" 

    ENV['RAILS_ENV'] = 'development' 

    use Rails::Rack::LogTailer 
    use Rails::Rack::Static 
    run ActionController::Dispatcher.new 
    ) }.to_app exit 
    D:/demo/config/boot.rb:66:in `exit': exit (SystemExit) 
     from D:/demo/config/boot.rb:66:in `load_rails_gem' 
     from D:/demo/config/boot.rb:54:in `load_initializer' 
     from D:/demo/config/boot.rb:38:in `run' 
     from D:/demo/config/boot.rb:11:in `boot!' 
     from D:/demo/config/boot.rb:110 
     from C:/IronRuby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
     from C:/IronRuby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
     from D:/demo/config/environment.rb:7 
     from C:/IronRuby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
     from C:/IronRuby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
     from (eval):1 
     from C:/IronRuby/lib/ironruby/gems/1.8/gems/rack-1.1.0/lib/rack/builder.rb:46:in `instance_eval' 
     from C:/IronRuby/lib/ironruby/gems/1.8/gems/rack-1.1.0/lib/rack/builder.rb:46:in `initialize' 
     from (eval):0 
     from D:\Dev\ironruby\ironruby-ironruby-20bc41b\Merlin\Main\Hosts\IronRuby.Rack\RubyEngine.cs:52:in `Execute' 
     from D:\Dev\ironruby\ironruby-ironruby-20bc41b\Merlin\Main\Hosts\IronRuby.Rack\RubyEngine.cs:45:in `Execute' 
     from D:\Dev\ironruby\ironruby-ironruby-20bc41b\Merlin\Main\Hosts\IronRuby.Rack\Application.cs:68:in `Rackup' 
     from D:\Dev\ironruby\ironruby-ironruby-20bc41b\Merlin\Main\Hosts\IronRuby.Rack\Application.cs:32:in `.ctor' 
     from D:\Dev\ironruby\ironruby-ironruby-20bc41b\Merlin\Main\Hosts\IronRuby.Rack\HttpHandlerFactory.cs:37:in `GetHandler' 
     from System.Web:0:in `MapHttpHandler' 
     from System.Web:0:in `System.Web.HttpApplication.IExecutionStep.Execute' 
     from System.Web:0:in `ExecuteStep' 
     from System.Web:0:in `ResumeSteps' 
     from System.Web:0:in `System.Web.IHttpAsyncHandler.BeginProcessRequest' 
     from System.Web:0:in `ProcessRequestInternal' 
     from System.Web:0:in `ProcessRequestNoDemand' 
     from System.Web:0:in `ProcessRequest' 

Trả lời

3

exit là cách để thoát khỏi chương trình bằng ruby.

Ý tưởng đằng sau giá đỡ là nó là một phần mềm trung gian giữa các khuôn khổ web ruby ​​và máy chủ ứng dụng thực tế. Bằng cách tách nó, nó cho phép vô số các khuôn khổ ruby ​​(đường ray, sinatra, ramaze, vv) nhắm vào một giao diện duy nhất, và vô số các máy chủ ứng dụng (mongrel, apache với hành khách, kỳ lân, vv) cũng làm như vậy. Những gì nó trông giống như là những kẻ IR đang cố gắng để có được rack làm việc với IIS. Tôi đã thực hiện một cách nhanh chóng googling cho đường ray trên cấu hình rack và tìm thấy this page

đầu ra trông tương tự như những gì bạn nhìn thấy trong phương pháp máy chủ đường ray. Tôi sẽ cố gắng tìm ra nơi này đến từ

require "config/environment" 

ENV['RAILS_ENV'] = 'development' 

use Rails::Rack::LogTailer 
use Rails::Rack::Static 
run ActionController::Dispatcher.new 
) }.to_app exit 

và cố gắng làm cho nó gần hơn với hướng dẫn đó. Nếu bạn không thể lấy nó ở đó, tôi sẽ thử đăng lên danh sách gửi thư của IR. Họ có xu hướng khá thân thiện, và vì đây là một điều rìa như vậy vào lúc này, họ có thể là những người duy nhất có đủ chuyên môn để giúp đỡ.

Chúc may mắn :-)

+0

bạn đã hoàn toàn đi đúng hướng. Tôi đã cài đặt cả phiên bản Rack phiên bản 1.0.1 và 1.1.0. Tôi gỡ bỏ cài đặt 1.1.0 và bây giờ tôi đang nhận được thông qua một lỗi định tuyến .. vì vậy nó trông giống như tôi đang trên con đường để enlighenment một lần nữa. – NotMyself

+0

ngọt ngào, vui vì tôi đã có thể giúp đỡ :) –

+0

@NotMyself - Có vẻ như tôi đang trên con đường tương tự như bạn; Tôi chạy vào vấn đề 'thoát' đầu tiên, và gỡ bỏ cài đặt 1.1.0 cố định cho tôi là tốt. Bạn có thể tìm ra lỗi định tuyến không? –

Các vấn đề liên quan