我是 Ruby 新手,正在关注 http://guides.rubyonrails.org/getting_started.html我是 坚持销毁这篇文章。它不会弹出要删除的对话框,而只会重定向到文章。有人可以帮我删除这篇文章吗?我知道这与 javascript 有关,但无法弄清楚。提前致谢。
这些是我的设置:
gem 文件
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.2.3'
# 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 'execjs'
# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.0'
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', '~> 0.4.0', group: :doc
...
application.html.erb
...
<%= stylesheet_link_tag 'default', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'default', 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>
...
javascript 行在浏览器中给了我一个 execjs 错误,因此我将“应用程序”更改为“默认”,结果没问题。
application.js
...
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require_tree .
index.html.erb
...
<% @articles.each do |article| %>
<tr>
...
<td><%= link_to 'Destroy', article_path(article),
method: :delete,
data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
最佳答案
我发现你已经有了:
gem 'therubyracer', platforms: :ruby
gem 'execjs'
在你的 Gemfile 中。
你应该运行:
捆绑安装
安装gems并重新启动服务器。 之后一切都应该正常!
或者,只需安装另一个 Javascript 运行时库,例如 Node.js它应该可以工作!
更新
将 application.html.erb
文件中的 defaults
替换为 application
并添加:gem 'coffee-script-source'
到您的 Gemfile 并运行:bundle install
您的问题现在应该已解决。
关于javascript - ruby on Rails - 无法运行javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31901372/