2

我写了这个小应用程序:

require 'rubygems'
require 'sinatra'
require 'bson'
require 'mongoid'

Mongoid.configure do |config|
  name = "articles"
  host = "localhost"
  config.master = Mongo::Connection.new.db(name)
  config.persist_in_safe_mode = false
end

class Article
  include Mongoid::Document

  field :title
  field :content
end

get '/' do
  @articles = Article.all
end

get '/show/:id' do
  @article = Article.find(params[:id])
end

get '/new' do
  haml :new
end

post '/create' do
  @article = Article.new(params['article'])
  if @article.save
    redirect '/'
  else
    redirect '/new'
  end  
end

当我发布内容为“Test d'un article en français”的文章时出现以下错误

BSON::InvalidStringEncoding at /create String not valid UTF-8 

我该如何解决这个错误?

谢谢

4

1 回答 1

0

这是 Ruby 1.9 和 Sinatra 的一个已知问题。等待 Sinatra 1.1 发布或使用来自 github 的 Sinatra edge 版本。

于 2010-10-17T13:40:02.860 回答