On Sun, Aug 1, 2010 at 9:27 AM, Rolf Pedersen <[email protected]> wrote:

> I did search the list, and I found people have similar problems with Ruby
> 1.9.1, but not directly comparable to my issue.
> In my simple case it DOES work, as long as I use two controller actions
> instead of just the one...
>
> Meanwhile.. yes, do do stick to Ruby 1.8.7 until I know more :o)
>
> Best regards,
> Rolf
>
> Fernando Perez wrote:
>
>> Hahaha!
>>
>> Search the list, and you'll notice that people have already fallen into
>> this trap.
>>
>> Wait 'til Rails 3 AND Ruby 1.9.2 get released to jump to Rails+Ruby1.9
>>
>> Stick to Rails 2.3.8 and Ruby 1.8.7 until then.
>>
>
>
>
I would recommend the following setup:

Ruby 1.9.2 RC2
  install => rvm install 1.9.2

Rails 3 RC
  install => gem install rails --pre

MySQL 2 Adapter
  install =>  gem install mysql2

Note:  The MySQL 2 gem should resolve the MySQL encoding issues that people
         are seeing when using the regular MySQL gem and Ruby 1.9.2.

Next, if you're planning to upgrade your application to Rails 3 and Ruby
1.9.2, I would
recommend that you begin the process now so that you can provide feedback to
the
Rails team as well as the Ruby gem/plugin authors.

Good luck and happy coding,

-Conrad


> On Sun, Aug 1, 2010 at 2:53 AM, Rolf Pedersen <[email protected]> wrote:
>
>> Hi
>>
>> First off, I'm using Ruby 1.9.1p378 and Rails 2.3.8.
>>
>> I was creating a minimal application to test handling of Norwegian special
>> characters when I bumped into this strange problem...
>>
>> I have a simple Car model with fields maker:string and model:string.
>> For the controller I planned to just have an index action do all the work:
>> class CarsController < ApplicationController
>>   def index
>>     if request.post?
>>       @car = Car.new(params[:car])
>>       @car.save
>>     end
>>     @cars = Car.find(:all)
>>   end
>> #  def create
>> #    @car = Car.new(params[:car])
>> #    @car.save
>> #    redirect_to :action => :index
>> #  end
>> end
>>
>> The corresponding view lists all car models and displays a form to support
>> the addition of new car models:
>> <h1>Cars</h1>
>> <table>
>>   <th>maker</th><th>model</th>
>>   <% @cars.each do |car| %>
>>     <tr>
>>       <td><%= car.maker %></td>
>>       <td><%= car.model %></td>
>>     <td>
>>   <% end %>
>> </table>
>>
>> <% form_for(:car, :url => { :action => "index" }) do |f| %>
>>   <p>
>>     <%= f.label :maker %>
>>     <%= f.text_field :maker %>
>>   </p>
>>   <p>
>>     <%= f.label :model %>
>>     <%= f.text_field :model %>
>>   </p>
>>   <p>
>>     <%= f.submit 'Add' %>
>>   </p>
>> <% end %>
>>
>> Now, this works fine..... until I submit special characters in one of the
>> fields.
>> If I for example write "Dodge" and "Børnout" in the form fields, I get an
>> error like this:
>> Encoding::CompatibilityError in Cars#index
>>
>> Showing *app/views/cars/index.html.erb* where line *#19* raised:
>>
>> incompatible character encodings: UTF-8 and ASCII-8BIT
>>
>> Extracted source (around line *#19*):
>>
>> 16:   </p>
>> 17:   <p>
>> 18:     <%= f.label :model %>
>> 19:     <%= f.text_field :model %>
>> 20:   </p>
>> 21:   <p>
>> 22:     <%= f.submit 'Add' %>
>>
>>
>> But, the entry is added correctly to the database anyway, so if I just
>> reload http://localhost:3000/cars, I do see the new entry.
>> OK, I thought... I've read quite a few places that there have been (and
>> still are) various issues with support for Unicode in the different
>> Ruby/Rails version combinations, so I figured that I just didn't have the
>> best combination for this.
>> But then I temporarily built a new application by using generate scaffold,
>> and it all works fine there.
>> After some trying and failing I discovered that if I (in my original
>> solution) changed the form_for :url option to :action => "create" and added
>> a create action in the controller file (commented out in the above
>> controller source), it works with special characters and all.
>>
>> So the only difference is that the form posts the data to the create
>> action instead of the index action, and then it works.
>>
>> I just don't get it! :o/
>>
>> Anyone has an explanation to offer?
>> Would be much appreciated! :o)
>>
>> Kind regards,
>> Rolf
>>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Talk" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<rubyonrails-talk%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/rubyonrails-talk?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to