Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Ruby On Rails > Вопрос по RubyOnRails и Ajax


Автор: Alhimic 1.2.2007, 19:01
Здравствуйте. У меня есть вопрос к программистам которые уже работали на рельсах с Ajax.
Дело в том что я хочу сделать следующую структуру сайт: хедер, меню, контент(див, потом будет добавляться через DOM), вот в меню ссылки на методы контроллеров которые генерируют шаблоны (partials) в див с помощью Ajax, но при генерации шаблона в див, не отображается кириллица (заместь русских букв знаки вопроса). Посоветуйте что можна предпринять чтобы текст нормально отображался, кодировка используется KOI8-U для layout.
Может нужно указать кодировку данных что получаем или что-то типа того?
С латиницей проблем нету.
За рание благодарен.

Автор: FunnyFalcon 2.2.2007, 10:42
Javascript работает с Unicode. Всегда.
Используй UTF-8. Это проще всего.
Или добавь фильтры, которые будут перекодировать все AJAX запросы/ответы с/в UTF-8. 
Я так делал. Потом плюнул, и стал делать в UTF-8.

Автор: Alhimic 2.2.2007, 14:36
Спасибо за совет, подумал вообще дописать опцию в хелпере который работает с Ajax так чтобы в масиве AJAX_OPTIONS добавить опцию Ajax :encoding так чтобы можно было при использовании хелперов указывать кодировку. Если получиться вопрос закрыт smile

Автор: Alone 2.3.2007, 15:50
если на вебрике - то ему можно подсунуть ключик -с koi8r
и аяксовые обработчики будут возвращать в кои8,
но если монгрел - то... пока что однозначного решения не нашли.
лучше конечно изначально вести проект в утф...

Автор: rubyclub 19.3.2007, 12:31
Цитата(Alhimic @ 1.2.2007,  19:01)
Здравствуйте. У меня есть вопрос к программистам которые уже работали на рельсах с Ajax.
Дело в том что я хочу сделать следующую структуру сайт: хедер, меню, контент(див, потом будет добавляться через DOM), вот в меню ссылки на методы контроллеров которые генерируют шаблоны (partials) в див с помощью Ajax, но при генерации шаблона в див, не отображается кириллица (заместь русских букв знаки вопроса). Посоветуйте что можна предпринять чтобы текст нормально отображался, кодировка используется KOI8-U для layout.
Может нужно указать кодировку данных что получаем или что-то типа того?
С латиницей проблем нету.
За рание благодарен.

http://rubyclub.com.ua/messages/show/7

Часто при переносе проекта на хостинг возникает необходимость в установке кодировки

Код

class ApplicationController < ActionController::Base
before_filter :set_charsets

def set_charset
if request.xhr?
@headers["Content-Type"] = "text/javascript; charset=utf-8"
else
@headers["Content-Type"] = "text/html; charset=utf-8"
end


end

Автор: andron 16.8.2007, 14:15
Здравствуйте. у меня появилась проблема с кодировкой при использовании метода request.raw_post

пример:

фрагмент кода _form.rhtml:

<table>
    <tr>
        <td valign="top">
            <%= text_field_tag :author %></p>
        </td>
        <td valign="top"> 
            <div id='selectDiv'></div>
        </td>
    </tr>
</table>
<%= observe_field(:author,:update => :selectDiv,
        :frequency => 0.4,
        :url => {:action => 'select'}) %>


вызывающий медот:

def select
    @author= request.raw_post # smile 
    @author= @author.chop # для удаления символа '=' на конце
    @all_authors=Author.find(:all,:conditions=>["name LIKE ?", "#{@author}%"])  #НЕ НАХОДИТ!
    render :partial=>'selectDiv'
 end


вызов Author.find(:all,:conditions=>["name LIKE.... не дает должного результата. Если с англискими буквами работать, то работает все превосходно.
Настроки для кодировок сделал (как rubyclub написал) также в файле database.yml добавил строчку encoding utf8. Вроде все как надо.
Что делать с этим raw_post?

Автор: max_lapshin 16.8.2007, 19:06
О боже мой, первый раз за полтора года вижу raw_post. Зачем он тебе? Какие к тебе приходят params?

Автор: andron 19.8.2007, 21:03
Цитата(max_lapshin @ 16.8.2007,  19:06)
О боже мой, первый раз за полтора года вижу raw_post. Зачем он тебе? Какие к тебе приходят params?

сделал через params  работает отлично.
а через raw_post ни в какую, просто я делал по примерам из книг (учусь еще)
max_lapshin, раскажи про raw_post - почему про него нужно забыть?

Автор: max_lapshin 20.8.2007, 17:15
Да никто не пользуется raw_post, потому что есть params, который всё сам парсит. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)