2013-02-04 49 views
-1

我真的不認爲有語法問題,我認爲這可能是一個版本問題,但是,這對你們都是什麼樣的?請注意,這隻發生在生產環境中。我使用的乘客(因爲它是Rails 3的,我不喜歡在生產中使用測試版的寶石):Spree Commerce語法錯誤

寶石版本:23年8月1日 Rails的版本:3.2.11 紅寶石版本:1.9.3p374(我升級它以爲它會幫助,是1.8.7我想之前)

# rails s -e production 
=> Booting WEBrick 
=> Rails 3.2.11 application starting in production on http://0.0.0.0:3000 
=> Call with -d to detach 
=> Ctrl-C to shutdown server 
Exiting 
/usr/lib/ruby/gems/1.8/gems/polyglot-0.3.3/lib/polyglot.rb:63:in `polyglot_original_require': /usr/lib/ruby/gems/1.8/gems/spree_api-1.3.1/app/controllers/spree/api/product_properties_controller.rb:11: syntax error, unexpected '.' (SyntaxError) 
     .page(params[:page]).per(params[:per_page]) 
    ^
    from /usr/lib/ruby/gems/1.8/gems/polyglot-0.3.3/lib/polyglot.rb:63:in `require' 
    from /usr/lib/ruby/gems/1.8/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:251:in `require' 
    from /usr/lib/ruby/gems/1.8/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:236:in `load_dependency' 
    from /usr/lib/ruby/gems/1.8/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:251:in `require' 
    from /usr/lib/ruby/gems/1.8/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:359:in `require_or_load' 
    from /usr/lib/ruby/gems/1.8/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:313:in `depend_on' 
    from /usr/lib/ruby/gems/1.8/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:225:in `require_dependency' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/engine.rb:439:in `eager_load!' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/engine.rb:438:in `each' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/engine.rb:438:in `eager_load!' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/engine.rb:436:in `each' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/engine.rb:436:in `eager_load!' 
    from /usr/lib/ruby/gems/1.8/gems/devise-2.2.3/lib/devise/controllers/url_helpers.rb:47:in `to_proc' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/application/railties.rb:8:in `each' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/application/railties.rb:8:in `all' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/engine.rb:434:in `eager_load!' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/application/finisher.rb:53 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/initializable.rb:30:in `instance_exec' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/initializable.rb:30:in `run' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/initializable.rb:55:in `run_initializers' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/initializable.rb:54:in `each' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/initializable.rb:54:in `run_initializers' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/application.rb:136:in `initialize!' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/railtie/configurable.rb:30:in `send' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/railtie/configurable.rb:30:in `method_missing' 
    from /home/$user/rails_apps/store/config/environment.rb:5 
    from /usr/lib/ruby/gems/1.8/gems/polyglot-0.3.3/lib/polyglot.rb:63:in `polyglot_original_require' 
    from /usr/lib/ruby/gems/1.8/gems/polyglot-0.3.3/lib/polyglot.rb:63:in `require' 
    from /usr/lib/ruby/gems/1.8/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:251:in `require' 
    from /usr/lib/ruby/gems/1.8/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:236:in `load_dependency' 
    from /usr/lib/ruby/gems/1.8/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:251:in `require' 
    from /home/$user/rails_apps/store/config.ru:3 
    from /usr/lib/ruby/gems/1.8/gems/rack-1.4.4/lib/rack/builder.rb:51:in `instance_eval' 
    from /usr/lib/ruby/gems/1.8/gems/rack-1.4.4/lib/rack/builder.rb:51:in `initialize' 
    from /home/$user/rails_apps/store/config.ru:0:in `new' 
    from /home/$user/rails_apps/store/config.ru:0 

如果需要更多的信息,請讓我知道,我可以發送請求的任何信息(原因當然)內。

修改添加:

我修好了這個任性「。」但現在看到這一點:

# rails s -e production 
=> Booting WEBrick 
=> Rails 3.2.11 application starting in production on http://0.0.0.0:3000 
=> Call with -d to detach 
=> Ctrl-C to shutdown server 
Exiting 
/usr/lib/ruby/gems/1.8/gems/polyglot-0.3.3/lib/polyglot.rb:63:in `polyglot_original_require': /usr/lib/ruby/gems/1.8/gems/spree_api-1.3.1/app/controllers/spree/api/v1/base_controller.rb:68: odd number list for Hash (SyntaxError) 
     render :text => { exception: exception.message }.to_json, 
           ^
/usr/lib/ruby/gems/1.8/gems/spree_api-1.3.1/app/controllers/spree/api/v1/base_controller.rb:68: syntax error, unexpected ':', expecting '}' 
     render :text => { exception: exception.message }.to_json, 
           ^
/usr/lib/ruby/gems/1.8/gems/spree_api-1.3.1/app/controllers/spree/api/v1/base_controller.rb:68: syntax error, unexpected '}', expecting kEND 
     render :text => { exception: exception.message }.to_json, 
                ^
/usr/lib/ruby/gems/1.8/gems/spree_api-1.3.1/app/controllers/spree/api/v1/base_controller.rb:69: syntax error, unexpected tASSOC, expecting tCOLON2 or '[' or '.' 
      :status => 422 and return 
        ^
    from /usr/lib/ruby/gems/1.8/gems/polyglot-0.3.3/lib/polyglot.rb:63:in `require' 
    from /usr/lib/ruby/gems/1.8/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:251:in `require' 
    from /usr/lib/ruby/gems/1.8/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:236:in `load_dependency' 
    from /usr/lib/ruby/gems/1.8/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:251:in `require' 
    from /usr/lib/ruby/gems/1.8/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:359:in `require_or_load' 
    from /usr/lib/ruby/gems/1.8/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:313:in `depend_on' 
    from /usr/lib/ruby/gems/1.8/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:225:in `require_dependency' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/engine.rb:439:in `eager_load!' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/engine.rb:438:in `each' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/engine.rb:438:in `eager_load!' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/engine.rb:436:in `each' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/engine.rb:436:in `eager_load!' 
    from /usr/lib/ruby/gems/1.8/gems/devise-2.2.3/lib/devise/controllers/url_helpers.rb:47:in `to_proc' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/application/railties.rb:8:in `each' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/application/railties.rb:8:in `all' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/engine.rb:434:in `eager_load!' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/application/finisher.rb:53 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/initializable.rb:30:in `instance_exec' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/initializable.rb:30:in `run' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/initializable.rb:55:in `run_initializers' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/initializable.rb:54:in `each' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/initializable.rb:54:in `run_initializers' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/application.rb:136:in `initialize!' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/railtie/configurable.rb:30:in `send' 
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.11/lib/rails/railtie/configurable.rb:30:in `method_missing' 
    from /home/jackal/rails_apps/store/config/environment.rb:5 
    from /usr/lib/ruby/gems/1.8/gems/polyglot-0.3.3/lib/polyglot.rb:63:in `polyglot_original_require' 
    from /usr/lib/ruby/gems/1.8/gems/polyglot-0.3.3/lib/polyglot.rb:63:in `require' 
    from /usr/lib/ruby/gems/1.8/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:251:in `require' 
    from /usr/lib/ruby/gems/1.8/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:236:in `load_dependency' 
    from /usr/lib/ruby/gems/1.8/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:251:in `require' 
    from /home/jackal/rails_apps/store/config.ru:3 
    from /usr/lib/ruby/gems/1.8/gems/rack-1.4.4/lib/rack/builder.rb:51:in `instance_eval' 
    from /usr/lib/ruby/gems/1.8/gems/rack-1.4.4/lib/rack/builder.rb:51:in `initialize' 
    from /home/jackal/rails_apps/store/config.ru:0:in `new' 
    from /home/jackal/rails_apps/store/config.ru:0 
+0

哦,這裏是圍繞線11區域: 高清指數 @product_properties = @ product.product_properties.ransack( (params [:per_page]) respond_with(@product_properties) end –

+0

我們需要查看您的代碼(單擊「編輯」(Params [:q])。將其添加到您的問題)。 – iamnotmaynard

回答

0

任性,就像它說,在 「.」 是在這個

.page(params[:page]).per(params[:per_page])

開始在該行

@product_properties = @product.product_properties.ransack(params[:q]).result + .page(params[:page]).per(params[:per_page])

錯誤消息的開頭。

+0

這就是我所害怕的。顯然,如錯誤消息所示,這是一個語法錯誤 - 但是,它是不是我使用的Ruby版本的語法錯誤? –

+0

我不這麼認爲。我很確定這是Ruby語言中的一個語法錯誤,並且不管哪個版本。 – iamnotmaynard

+0

我編輯了我原來的帖子,無法在這裏添加它作爲評論。 –

1

看起來您正在使用Ruby 1.8(基於路徑中的/usr/lib/ruby/gems/1.8/),但render :text => { exception: exception.message }.to_json中的哈希語法僅限於Ruby 1.9。

在Ruby 1.9,你可以說:h = {key: 1} 在Ruby 1.8,你必須使用h = {:key => 1}

+0

那麼,那是做到了。謝謝! –