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


Автор: redrover 26.12.2010, 18:49
Мне нужно в кратчайшие сроки переоснастить приложение на консольной основе в версию для рельс.
Смотрел различные источники в сети. По-моему, удалось установить рельсы. А что дальше? 
Как организовать веб-приложение вообще? Где положить код html, где .rb (если таковые имеются)?
И на чем это дело запускать? (желательно, без Апача - там своя прорва работы, должно быть)

Например, как использовать WebRick? Может, я не то читаю, но информация везде крайне скудная. А до практики нигде не доходит. Но необходимы примеры.

Буду признателен любой помощи.  smile Ситуация критическая. 

По сабжу: программа "Рассчет площади треугольника по методу Монте-Карло". Входные данные - координаты трех точек. Выходные - таблица результатов вычисления. Используется два класса: точка и треугольник.

Автор: redrover 26.12.2010, 23:00
Так, Rails работает.
Интересно, как теперь организовать  само приложение... smile 

Автор: source777 27.12.2010, 12:08
Цитата(redrover @  26.12.2010,  18:49 Найти цитируемый пост)
Как организовать веб-приложение вообще? Где положить код html, где .rb (если таковые имеются)?
И на чем это дело запускать? 
Может, я не то читаю, но информация везде крайне скудная. А до практики нигде не доходит. Но необходимы примеры.

Почитай http://railstutorial.org/ruby-on-rails-tutorial-book, там примеров полно.

А по сабжу: "Расчет площади треугольника по методу Монте-Карло" - это по сути не веб-приложение и для добавления к нему веб-интерфейса скорее подойдёт http://www.sinatrarb.com/, чем Ruby on Rails, а ещё проще для такого тривиального случая весь расчёт в JavaScript сделать, тогда серверная часть вообще не понадобится.  smile 

Автор: redrover 28.12.2010, 22:29
Спасибо за источник. smile 

Все же решил остановиться на RoR. Думал, что сервер поднял правильно. Оказалось не совсем. 
Попытался выполнить простейшее приложение http://www.java2s.com/Code/Ruby/Rails/ReadDatafromaCheckbox.htm. 
Сначала переход по Submit не удавался, выпадало сообщение Routing Error
Цитата

No route matches


Тогда вынес файл с серверным скриптом в папку проекта public. Заработал переход на новую страницу, однако <% %>-нет и весь исходный html.erb-код выводился на дисплей. 

Я что-то делаю не так или Рельсы не встали как следует? У меня Win7, Webrick, Апач отдельно не установлен. 

Автор: source777 29.12.2010, 00:19
Цитата(redrover @  28.12.2010,  22:29 Найти цитируемый пост)
Попытался выполнить простейшее приложение отсюда. 

Мда, такого отвратного rails-кода я ещё не видел.

Может более http://weblog.rubyonrails.org/2010/8/28/rails-has-great-documentation стоит воспользоваться? 

Цитата(redrover @  28.12.2010,  22:29 Найти цитируемый пост)
Сначала переход по Submit не удавался, выпадало сообщение Routing Error

всё правильно, про маршрутизацию в rails на java2s.com видимо не слышали... 

P.S. И всё-таки я настаиваю, что для твоей задачи Rails не подходит, тебе нужно нечто экстра-простое, а не полноценный MVC-фреймворк с множеством плюшек, в котором тебе полгода для начала разбираться придётся, и всё равно решение твоей задачи будет выглядеть неестественно, т.к. в твоей задаче на данный момент нет никаких предпосылок веб-приложения  smile 
Пойми, любой паттерн имеет границы применимости и MVC - не исключение, так что даже профессиональные Rails-программисты, которым пришлось бы реализовать нечто подобное твоей задаче в составе своего веб-приложение, сделали бы это в обход Rails, через Rack Middleware. Можно, конечно, хранить данные обо всех треугольниках и точках в БД, создавать их через контроллеры и т.д. и т.п. только это бред получится.

Автор: redrover 29.12.2010, 18:26
Теперь совсем запутался. smile

source777, посоветуйте, пожалуйста, дилетанту с минимальными знаниями по HTML и синтаксису Ruby среду, схему, метод, что-нибудь, чтобы можно было быстро организовать текстовые поля на странице, куда вводим координаты точек треугольника, и по щелчку на кнопке "Рассчитать" увидеть таблицу результатов. 

Sinatra, например, работает с HAML и довольно замороченная, на первый взгляд. Опять же, по неопытности скорее всего.

Автор: redrover 29.12.2010, 20:03
Установил на Ubuntu Sinatra и попробовал простенький пример - понравилось. smile 
Правда, не могу понять, как считать значения из textBox на веб-форме..

Автор: source777 30.12.2010, 00:38
Цитата(redrover @  29.12.2010,  18:26 Найти цитируемый пост)
Sinatra, например, работает с HAML и довольно замороченная, на первый взгляд. 

Честно говоря, я впервые вижу человека, которому RoR кажется кристально простым, а Sinatra - замороченной...  smile 
А то, что Sinatra поддерживает Haml отнюдь не обязывает тебя использовать именно этот язык шаблонов, кроме него есть поддержка
Цитата

    * Erb
    * Erubis
    * Nokogiri
    * Builder
    * Sass
    * Scss Templates
    * Less Templates
    * Liquid Templates
    * Markdown Templates
    * Textile Templates
    * RDoc Templates
    * Radius Templates
    * Markaby Templates
    * CoffeeScript Templates
    * Inline Templates


Цитата(redrover @  29.12.2010,  18:26 Найти цитируемый пост)
можно было быстро организовать текстовые поля на странице, куда вводим координаты точек треугольника, и по щелчку на кнопке "Рассчитать" увидеть таблицу результатов. 

Ну в простейшем виде основа будет примерно такая:
Код

require 'erb'

get '/' do
  erb :form_for_initial_data
end

post '/' do
  p1 = Point.new(params[:x1].to_f, params[:y1].to_f)
  p2 = Point.new(params[:x2].to_f, params[:y2].to_f)
  p3 = Point.new(params[:x3].to_f, params[:y3].to_f)
  triangle = Triangle.new(p1, p2, p3)
  "Площадь = " + triangle.calc_square().to_s
end

С шаблонами, я надеюсь, ты самостоятельно справишься. http://railsapi.com/doc/sinatra-v1.0/ и http://sinatra-book.gittr.com/ тебе в помощь.

Автор: redrover 6.1.2011, 10:07
Цитата

 sinatra doc и sinatra book

Все запутанно! Гораздо приятнее оказалось разобраться с Ruby Rails. 

Один ньюанс.) Как прописать картинку (pic.jpg, например) в код странички *.html.erb? Точнее так, где должно лежать изображение?
В html с этим проблем нет, рисунок укладывают в папку с проектом и все работает. Здесь, если убрать в public, результат не достигается.

Автор: redrover 7.1.2011, 16:34
Все готово, спасибо вам, source777,  за участие, вопрос закрыт.  smile 

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