Публикации на тази страница:
Ruby и RubyEE
Ruby и RubyEE в една система
ln -s /opt/ruby/bin/ruby /usr/bin/ruby_ee ln -s /opt/ruby/bin/gem /ust/bin/gem_ee
Инсталиране на RubyGem - Ruby и RubyEE
Прост скрипт за инсталация: /usr/bin/gi
sudo gem install $1 sudo gem_ee install $1
Пример:
gi sinatra
Sinatra - Apache - mod_rails
Хостинг на Sinatra приложение с Apache и mod_rails
Примерен Apache vhost:
<VirtualHost *> ServerName [DOMAIN].com ServerAlias www.[DOMAIN].com DocumentRoot /www/[DOMAIN]/public </VirtualHost>
config.ru
require 'index' set :environment, :production run Sinatra::Application
index.rb
require 'rubygems' require 'sinatra' #Home Page get '/' do "Това е всичко...давай напред!" end
Примерна структура на Sinatra приложение
config.ru index.rb lib/ log/ public/ Rakefile tmp/ views/
Рестартиране на приложението
touch tmp/restart.txt
Може да използвате DreamHost за хостинг. Когато настройвате домейн-а си в DreamHost, просто му кажете да активира Ruby on Rails(mod_rails) и задайте, като директория "/public"
Rails nice search
Проблема: http://somehost.com/home/index?q=search_string
route:
map.q '/q/:q', :controller => 'home', :action => 'index', :q => nil
form:
<% form_tag({:controller => "home", :action => "search"}, :method => "get") do %> <%= text_field_tag :q %><br/> <%= submit_tag 'Търси' %><br/> <% end %>
controller:
def search redirect_to q_url(:q => params[:q]) end
Резултат: http://somehost.com/q/search_string
bgUrl api - ruby simple example
def get_bg_url(long_url) url = URI.parse("http://bgurl.org/api/links") req = Net::HTTP::Post.new(url.path) req.set_form_data({'website_url' => long_url}) http = Net::HTTP.new(url.host, url.port) response = http.start {|http| http.request(req) } doc = Hpricot::XML(response.body) (doc/:link/:permalink).first.innerHTML end
Как да прочетем rdoc, за инсталираните локално ruby gems?
Стартирай:
gem server
Отвори:
http://localhost:8808/
Rails multiple site application theme managment
before_filter :get_site attr_reader :site theme :get_theme, :get_theme_site def get_site url = request.domain(request.subdomains.size + (request.subdomains.first == 'www' ? 0 : 1)) @site ||= Site.find_by_url(url) || Site.find(:first, :order => 'id') end def get_theme site.theme end def get_theme_site site.id.to_s end
Още


а>
а>