views:

24

answers:

1

Hi,

I wrote this little application :

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

The following error occur when i post an article with a content "Test d'un article en français"

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

How i can fix this error ?

Thanks

A: 

This is a known issue with Ruby 1.9 and Sinatra. Wait for Sinatra 1.1 to be released or use Sinatra edge version from github.

Konstantin Haase