【发布时间】:2014-07-30 03:54:03
【问题描述】:
我正在使用 Ruby on Rails 4.1 为我的示例项目创建一个订票应用程序。三是三种模式 - 活动、门票和预订。活动有很多门票和预订。门票有很多预订,它们属于活动。预订属于活动和门票。
这是gemfile:
source 'http://code.stripe.com'
source 'https://rubygems.org'
ruby '2.1.2'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.1.1'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 4.0.3'
gem 'execjs'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .js.coffee assets and views
gem 'coffee-rails', '~> 4.0.0'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby
# 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'
gem 'bootstrap-sass', '~> 3.2.0'
gem 'figaro'
gem 'stripe'
gem 'tinymce-rails'
gem 'geocoder'
gem 'gmaps4rails'
gem 'heroku'
gem 'iconv'
gem 'multi_json', '1.10.1'
gem 'therubyracer'
group :development do
gem 'sqlite3'
end
group :production do
gem 'pg'
gem 'thin'
gem 'rails_12factor'
end
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', '~> 0.4.0', group: :doc
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring', group: :development
我使用 tinymce-rails gem 在新页面和编辑页面中创建一个所见即所得的编辑器。 gem 需要在所有相应的视图文件中使用 。该应用程序运行良好,我能够在本地使用编辑器而没有任何问题。
新的活动页面如下所示:
<h2>Create an Event</h2>
<%= tinymce_assets %>
<%= form_for (@event) do |f| %>
<% if @event.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@event.errors.count, "error") %> prohibited
this event from being saved:</h2>
<ul>
<% @event.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="form-group">
<%= f.label :name %>
<%= f.text_field :name, class: "form-control" %>
</div>
<div class="form-group">
<%= f.label :about %>
<%= f.text_area :about, class: "tinymce" %>
</div>
<div class="dropdown">
<%= f.label :time_zone %>
<%= f.time_zone_select :time_zone, nil, {}, {class: "btn btn-default dropdown-toggle"} %>
</div>
<div class="form-group">
<%= f.label :start_date %>
<%= f.datetime_select :start_date %>
</div>
<div class="form-group">
<%= f.label :end_date %>
<%= f.datetime_select :end_date %>
</div>
<div class="form-group">
<%= f.label :location %>
<%= f.text_field :location, class: "form-control" %>
</div>
<div class="form-group">
<%= f.label :contact_info %>
<%= f.text_area :contact_info, class: "form-control" %>
</div>
<%= f.hidden_field :latitude %>
<%= f.hidden_field :longitude %>
<%= f.submit "Create Event", class: "btn btn-primary" %>
<% end %>
<%= tinymce %>
昨天我尝试将应用程序部署到 Heroku。我遵循本教程http://railsapps.github.io/rails-heroku-tutorial.html 并预编译了 assets rake assets:precompile 命令。
从那时起,我无法在开发和生产环境中使用创建和编辑页面。我收到 JSON::GeneratorError - "only generation of JSON objects or arrays allowed" 错误,并且视图文件底部的 行被突出显示。这发生在我以前运行良好的本地开发环境中。
如果我从页面中删除 ,它们可以正常加载。我曾尝试在早期的 SE 线程之后添加 rubyracer、execjs 和 mulit_json gem,但它仍然不起作用。如何度过这个难关?
【问题讨论】:
标签: ruby-on-rails ruby json