Posted on May 29, 2008
Являясь счастливым обладателем нового mac book я решил поставить под него все необходимые gem для разработки на rails. Одним из них является mod_rails. Для установки необходимо поставить нормальные ruby и rubygems (
руководство). После чего ставим mod_rails
gem install passenger
Затем запускается конфигурация (как в
статье об установке под Linux )
c отличием только в том, что необходимо вписать в конфигурационный файл apache строки вручную
LoadModule passenger_module /opt/local/lib/ruby/gems/1.8/gems/passenger-1.0.5/ext/apache2/mod_passenger.so
RailsSpawnServer /opt/local/lib/ruby/gems/1.8/gems/passenger-1.0.5/bin/passenger-spawn-server
RailsRuby /opt/local/bin/ruby
Создаем виртуальные хосты и запускаем apache.
Все готово
Tagged with: apache mod_rails passenger rails ruby |
Posted on May 27, 2008
Недавно появился новый rails engine
Community engine который позволяет создать каркас социальной сети с блогами, профилями, системой регистрации и авторизации, а так-же закачкой новых фотографий на базе rails приложения за 5 минут.
Для установки необходимо установить Rails Engines
svn export http://svn.rails-engines.org/engines/branches/rb_2.0/ vendor/plugins/engines
И установить сам Community Engine
git clone --depth 1 git@github.com:bborn/communityengine.git vendor/plugins/community_engine
и сгенерировать миграцию
script/generate plugin_migration
Всё, социальная сеть работает
Tagged with: community engine rails rubyinside social |
Posted on May 21, 2008
Благодаря новому расширению
Johnson
в руби появилась возможность использовать javascript со всеми его возможностями.
Например
require 'rubygems'
require 'johnson'
context = Johnson::Context.new
context['alert'] = lambda { |x| puts x }
context.evaluate('alert("Hello ruby!");')
В примере в контексте javascript процесса создается функция alert и вызывается при обработке js скрипта.
Так-же возможен и обратный вызов
require 'rubygems'
require 'johnson'
def alert(arg)
puts arg
end
context = Johnson::Context.new
context.evaluate('Ruby.alert("Hello ruby!")')
Так-же возможно таскать объекты из контеста в контекст
A = Struct.new(:foo)
context= Johnson::Context.new
context['alert'] = lambda { |x| puts x }
context['a'] = A.new("bar")
context.evaluate('alert(a.foo);') # => 'bar'
Если надо использовать символ например для того что-бы записать User.find(:all) то используется Johnson.symbolize
context= Johnson::Context.new
context['alert'] = lambda { |x| puts x }
context.evaluate(<<-END
for(var user in Ruby.User.find(Johnson.symbolize('all'))) {
alert(user.first_name());
}
END
)
Узнано благодаря RubyFlow из
блога Aaron Patterson`a
Tagged with: javascript ruby rubyflow |