Rails gems和服务器

时间:2016-07-27 21:34:27

标签: ruby-on-rails ruby windows coffeescript aptana3

我是Ruby on Rails的新手,我一直在关注如何使用Devise,Haml和Simple_Form制作论坛应用程序的Mackenzie Child教程。我在Windows 10 O.S中使用Aptana Studio 3作为IDE。我正在使用Ruby 2.2.0和Rails版本4.2.5.1。

我有两个问题:

1)我无法在创建后销毁帖子(正如Mackenzie在大约时间= 17:30说明的那样)。

在Google搜索之后,我发现这是因为我从application.html.erb删除了JavaScript和StyleSheet的脚本。我删除了这些代码行,因为我无法在本地服务器上查看任何Rails应用程序。这引出了我的第二个问题

2)我将代码行放回application.html.erb文件夹,我又回到无法在本地网络上查看我的应用程序,并收到下面列出的错误代码。

同样,Google搜索发现coffee-script-source1.10.0与Windows不兼容,这就是我收到错误的原因。我被建议回滚到1.8.0。但是,我无法回滚到早期版本。我尝试在我的GemFile中键入正确版本的CoffeeScript,并尝试gem install'coffee-script-source','1.8.0',但我的计算机拒绝更新它。相反,我在终端中收到此错误。

>You have requested: coffee-script-source = 1.8.0
>The bundle currently has coffee-script-source locked at 1.10.0.
>Try running 'bundle update coffee-script-source'
>If you are updating multiple gems in your Gemfile at once,
>try passing them all to 'bundle update'"*

无论如何,这是谷歌停止提供帮助的地方。如果有人能帮我解决这个问题,我将不胜感激!

[https://www.youtube.com/watch?v=rTP1eMfI5Bs]

><!DOCTYPE html>
><html>
>   <head>
>       <title>Forum</title>
>  <%= csrf_meta_tags %>
>
>  <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-

>track': 'reload' %>
    >  <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' >%>
    ></head>
>
><body>
><%= yield %>
>   </body>
></html>

>ExecJS::ProgramError in Posts#index
>Showing c:/psychweb/forum/app/views/layouts/application.html.erb where line #7 raised:
>
>TypeError: Object doesn't support this property or method
>Rails.root: c:/psychweb/forum
>
>Application Trace | Framework Trace | Full Trace
>app/views/layouts/application.html.erb:7:in      
>`_app_views_layouts_application_html_erb__95882101_42750912'

>gem 'rails', '4.2.5.1'
># Use sqlite3 as the database for Active Record
>gem 'sqlite3'
># Use SCSS for stylesheets
>gem 'sass-rails', '~> 5.0'
># Use Uglifier as compressor for JavaScript assets
>gem 'uglifier', '>= 1.3.0'
># Use CoffeeScript for .coffee assets and views
>gem 'coffee-rails', '~> 4.1.0'
># See https://github.com/rails/execjs#readme for more supported runtimes
># gem 'therubyracer', platforms: :ruby
>gem 'jquery-rails'
>gem 'turbolinks'
>gem 'jbuilder', '~> 2.0'
># bundle exec rake doc:rails generates the API under doc/api.
>gem 'sdoc', '~> 0.4.0', group: :doc
>
>gem 'haml', '~> 4.0.5'
>gem 'simple_form', '~> 3.0.2'
>gem 'devise', '~> 3.4.1'
>gem 'coffee-script-source', '=1.8.0'
>
># Use ActiveModel has_secure_password
># gem 'bcrypt', '~> 3.1.7'
>
>
>group :development, :test do
>  gem 'byebug'
>end
>
>group :development do
>  
>  gem 'web-console', '~> 2.0'
>end
>
>
># Windows does not include zoneinfo files, so bundle the tzinfo-data gem
>gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

1 个答案:

答案 0 :(得分:1)

您的宝石在安装时会进行版本控制。因此,您可能没有指定coffee-script-source的版本,而bundler已经安装了最新版本的1.10.0。现在你试图告诉它安装一个不同的版本,它很疯狂,因为它已经安装了一个版本。

既然您已在=1.8.0中指定了Gemfile的版本,就可以运行bundle update coffee-script-source,它应该会为您提供正确的版本并将其锁定在Gemfile.lock中记住那是你想要的版本。