Результаты поиска
Как добавить существующие комментарии к RDoc в Ruby?
Я хочу отформатировать мои существующие комментарии как 'RDoc comments', чтобы их можно было просматривать с помощью ri .
Каковы некоторые рекомендуемые ресурсы для начала использования RDoc?
Реализация функции "Remember me" в приложении Rails
В моем Rails-приложении есть поле входа с "remember me" checkbox. Пользователи, установившие этот флажок, должны оставаться в системе даже после закрытия браузера. Я отслеживаю, входят ли пользователи в систему, сохраняя их идентификатор в сеансе пользователя.
Но сеансы реализуются в Rails как сеансовые файлы cookie, которые не являются постоянными. Я могу сделать их настойчивыми:
class ApplicationController < ActionController::Base
before_filter :update_session_expiration_date
private
def update_session_expiration_date
options = ActionController::Base.session_options
unless options[:session_expires]
options[:session_expires] = 1.year.from_now
end
end
end
Но это похоже на взлом, что удивительно для такой распространенной функциональности. Есть ли какой-нибудь лучший способ?
Редактировать
Ответ Гарета довольно хорош, но я все равно хотел бы получить ответ от кого-то, кто знаком с Rails 2 (потому что он уникален CookieSessionStore ).
Частые SystemExit в Ruby при совершении HTTP звонков
У меня есть сайт Ruby on Rails, который делает HTTP вызовов к внешней веб-службе.
Примерно раз в день я получаю ошибку SystemExit (stacktrace ниже) email, когда вызов службы не удался. Если я затем попробую точно такой же запрос на моем сайте через несколько минут, он отлично работает. Это происходит с тех пор, как сайт вышел в эфир, и мне не удалось отследить, что вызывает его.
Ruby-это версия 1.8.6, а rails-версия 1.2.6.
У кого-нибудь еще есть эта проблема?
Это ошибка и stacktrace.
В SystemExit произошло /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.6/lib/fcgi_handler.rb:116:in выход' /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.6/lib/fcgi_handler.rb:116:in exit_now_handler' /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/inflector.rb:250:in to_proc' /usr/local/lib/ruby/1.8/net/protocol.rb:133:in называть /usr/local/lib/ruby/1.8/net/protocol.rb:133:in sysread' /usr/local/lib/ruby/1.8/net/protocol.rb:133:in rbuf_fill' /Таймаут usr/local/lib/ruby/1.8/timeout.rb:56:in' /Таймаут usr/local/lib/ruby/1.8/timeout.rb:76:in' /usr/local/lib/ruby/1.8/net/protocol.rb:132:in rbuf_fill' /Readuntil usr/local/lib/ruby/1.8/net/protocol.rb:116:in' / usr/local/lib/ruby/1.8/net/protocol.rb:126:in readline' /usr/local/lib/ruby/1.8/net/http.rb:2017:in read_status_line' /usr/local/lib/ruby/1.8/net/http.rb:2006:in read_new' / usr/local/lib/ruby/1.8/net/http.rb:1047:in запрос' /usr/local/lib/ruby/1.8/net/http.rb:945:in request_get' /usr/local/lib/ruby/1.8/net/http.rb:380:in get_response' / usr/local/lib/ruby/1.8/net/http.rb:543:in начало' /usr/local/lib/ruby/1.8/net/http.rb:379:in get_response'
Когда использовать lambda, когда использовать Proc.new?
В Ruby 1.8 есть тонкие различия между proc/lambda, с одной стороны, и Proc.new , с другой.
- В чем же заключаются эти различия?
- Можете ли вы дать рекомендации о том, как решить, какой из них выбрать?
- В Ruby 1.9 proc и lambda отличаются друг от друга. В чем же дело?
Как исправить ошибку "Unprocessed view path found" с плагином ExceptionNotifier в rails 2.1?
После обновления веб-сайта rails 1.2 до 2.1 плагин ExceptionNotifier больше не работает, жалуясь на эту ошибку:
ActionView::TemplateFinder::InvalidViewPath: необработанный путь представления найдено: "/path/to/appname/vendor/plugins/exception_notification/lib/../views". Задайте пути просмотра с помощью #append_view_path, #prepend_view_path, или #view_paths=.
Что вызывает это и как я могу это исправить?
Проекты С Открытым Исходным Кодом Ruby
Я только недавно начал изучать Ruby, и вместо Совета Джеффа в выходные дни...
- Хватит теоретизировать.
- Пиши много программ.
- Учитесь на своих ошибках. ..
Мне было интересно оттачивать свои навыки, помогая сообществу Open Source в этом процессе, поэтому я подумал, что спрошу, есть ли у кого-нибудь предложения по крутым/интересным проектам с открытым исходным кодом, написанным в Ruby, о которых вы знаете или в которых участвуете.
Как я могу использовать (n) curses в Ruby?
Я хотел бы создать индикатор выполнения, чтобы указать состояние пакетного задания a в Ruby .
Я читал некоторые учебники / библиотеки по использованию (n) curses , ни один из которых не был особенно полезен в объяснении того, как создать индикатор выполнения "animated" в terminal или использовать curses с Ruby .
Я уже знаю об использовании отдельного потока для отслеживания хода выполнения данного задания, но не знаю, как приступить к рисованию индикатора выполнения.
Обновление
ProgressBar класс был невероятно прямолинейным, прекрасно решил мою проблему.
Как я могу изменить файлы .xfdl? (Обновление #1)
Расширение файла .XFDL определяет форматированные файлы документов XFDL . Они относятся к стандарту форматирования документов и шаблонов на основе XML. Этот формат точно такой же, как формат файла XML, однако содержит уровень шифрования для использования в защищенных коммуникациях.
Я знаю, как просмотреть файлы XFDL с помощью средства просмотра файлов, которое я нашел здесь . Я также могу изменить и сохранить эти файлы, сделав File:Save/Save As. Однако я хотел бы изменить эти файлы на лету. Есть какие-нибудь предложения? Возможно ли это вообще?
Обновление #1: теперь я успешно декодировал и распаковал .xfdl в файл XML, который затем можно редактировать. Теперь я ищу способ перекодировать измененный файл XML обратно в base64-gzip (используя Ruby или командную строку)
Как обновить Ruby Gems из-за прокси (ISA-NTLM)
Брандмауэр, за которым я стою, работает под управлением Microsoft ISA server в режиме NTLM-only. Hash у кого-нибудь есть успех получения их Ruby драгоценных камней для установки/обновления через Ruby SSPI gem или другим способом? ...
или я просто ленивый?
Примечание: rubysspi-1.2.4 не работает.
Это также работает для "igem", части проекта IronRuby
Как создать класс, используя шаблон проектирования Singleton в Ruby?
Шаблон singleton-это шаблон проектирования, который используется для ограничения создания экземпляра класса одним экземпляром объекта. Хотя я знаю, как кодировать шаблон singleton в C++ и Java, мне было интересно, знает ли кто-нибудь, как реализовать его в Ruby?
Как продать Python в client/boss/person
Когда вас просят создать систему XYZ и вы просите сделать это в Python над PHP или Ruby, какие основные функции вы можете упомянуть, когда они требуют от вас объяснения?
Обучение Ruby на Rails что-нибудь хорошее для Grails?
Моя компания находится в процессе запуска вниз по пути Grails. Причина этого заключается в том, что нынешние разработчики тяжело относятся к Java, но ощущают потребность в языке в стиле MVC для некоторых будущих проектов веб-разработки. Лично я пришел из мира дизайна / юзабилити, но по мере того, как я беру на себя больше ответственности "front-end", я начинаю чувствовать потребность в более интенсивном изучении языка, чтобы я мог кодировать некоторую логику, но особенно интерфейсный код для моего UIs и прочего.
Я пытался попасть в Python/Django лично, но просто никогда не тратил на это слишком много времени. Теперь, когда моя компания находится "jumping" в Grails, я купил " веб-разработку Agile с Rails (3 - е изд-бета)", и я начинаю входить в RoR . Я все еще хотел бы узнать Python в будущем или на стороне, но мой самый большой вопрос-это:
- Должен ли я изучать RoR и иметь более универсальный язык в моем "portfolio", зная, что мои RoR знания будут полезны и для моих потребностей Grails??
-OR-
- Должен ли я просто пропустить RoR и сосредоточиться на изучении Grails, который мне скоро понадобится для работы, и работать над изучением RoR/Django (Ruby/Python) позже?
В основном вопрос вращается вокруг полезности Grails в некорпоративной среде и сходства между Rails и Grails. (и это, пытаясь избежать столетней дискуссии о Python против Ruby (на Rails) :))
Обучение Ruby на Rails что-нибудь хорошее для Grails?
Моя компания находится в процессе запуска вниз по пути Grails. Причина этого заключается в том, что нынешние разработчики тяжело относятся к Java, но ощущают потребность в языке в стиле MVC для некоторых будущих проектов веб-разработки. Лично я пришел из мира дизайна / юзабилити, но по мере того, как я беру на себя больше ответственности "front-end", я начинаю чувствовать потребность в более интенсивном изучении языка, чтобы я мог кодировать некоторую логику, но особенно интерфейсный код для моего UIs и прочего.
Я пытался попасть в Python/Django лично, но просто никогда не тратил на это слишком много времени. Теперь, когда моя компания находится "jumping" в Grails, я купил " веб-разработку Agile с Rails (3 - е изд-бета)", и я начинаю входить в RoR . Я все еще хотел бы узнать Python в будущем или на стороне, но мой самый большой вопрос-это:
- Должен ли я изучать RoR и иметь более универсальный язык в моем "portfolio", зная, что мои RoR знания будут полезны и для моих потребностей Grails??
-OR-
- Должен ли я просто пропустить RoR и сосредоточиться на изучении Grails, который мне скоро понадобится для работы, и работать над изучением RoR/Django (Ruby/Python) позже?
В основном вопрос вращается вокруг полезности Grails в некорпоративной среде и сходства между Rails и Grails. (и это, пытаясь избежать столетней дискуссии о Python против Ruby (на Rails) :))
Почему у Ruby нет настоящего StringBuffer или StringIO?
Недавно я прочитал хороший пост об использовании StringIO в Ruby. Однако автор не упоминает, что StringIO -это просто "I.", нет "O.", вы не можете этого сделать, например:
s = StringIO.new
s << 'foo'
s << 'bar'
s.to_s
# => should be "foo\nbar"
# => really is ''`
Ruby действительно нуждается в StringBuffer точно так же, как и тот, который есть у Java. StringBuffers служат двум важным целям. Во-первых, они позволяют вам проверить выходную половину того, что делает Ruby StringIO. Во-вторых, они полезны для создания длинных струн из маленьких частей-то, что Джоэл напоминает нам снова и снова, в противном случае очень медленно.
Есть ли хорошая замена?
Это правда, что строки в Ruby изменчивы, но это не значит, что мы всегда должны полагаться на эту функциональность. Если stuff является большим, то требования к производительности и памяти этого, например, действительно плохи.
result = stuff.map(&:to_s).join(' ')
"correct" способ сделать это в Java-это:
result = StringBuffer.new("")
for(String s : stuff) {
result.append(s);
}
Хотя мой Java немного заржавел.
Библиотека чертежей для Ruby
Я пытаюсь закодировать генератор блок-схем для языка, используя Ruby.
Я хотел знать, есть ли какие-либо библиотеки, которые я мог бы использовать для рисования различных фигур для различных элементов блок-схемы и написания текста для этих фигур.
Я бы действительно предпочел не писать код для рисования основных фигур,если бы это было возможно.
Может ли кто-нибудь указать мне на какую-нибудь справочную документацию с примерами использования этой библиотеки?
Почему sqlite3-ruby-1.2.2 не работает на OS X?
Я бегу
- OS X 10.5,
- Ruby 1.8.6,
- Rails 2.1,
- sqlite3-ruby 1.2.2
и я получаю следующую ошибку при попытке сгрести db:migrate на приложение, которое работает найти подключен к MySQL.
грабли прервана! нет такого файла для загрузки -- sqlite3 / database
Что означают различные скобки в Ruby?
В Ruby, какая разница между {} и [] ?
{} , по-видимому, используется как для блоков кода, так и для хэшей.
Являются ли [] только для массивов?
Документально это не очень понятно.
Почему моя работа Cron не работает должным образом?
У меня есть работа cron на Ubuntu Hardy VPS, которая работает только наполовину, и я не могу понять, почему. Задание представляет собой сценарий Ruby, который использует mysqldump для резервного копирования базы данных MySQL, используемой приложением Rails, которая затем gzipped и загружается на удаленный сервер с помощью SFTP.
Файл gzip создается и копируется успешно, но это всегда нулевые байты. Тем не менее, если я запускаю команду cron непосредственно из командной строки, Она отлично работает.
Это задание cron:
PATH=/usr/bin
10 3 * * * ruby /home/deploy/bin/datadump.rb
Это datadump.rb:
#!/usr/bin/ruby
require 'yaml'
require 'logger'
require 'rubygems'
require 'net/ssh'
require 'net/sftp'
APP = '/home/deploy/apps/myapp/current'
LOGFILE = '/home/deploy/log/data.log'
TIMESTAMP = '%Y%m%d-%H%M'
TABLES = 'table1 table2'
log = Logger.new(LOGFILE, 5, 10 * 1024)
dump = "myapp-#{Time.now.strftime(TIMESTAMP)}.sql.gz"
ftpconfig = YAML::load(open('/home/deploy/apps/myapp/shared/config/sftp.yml'))
config = YAML::load(open(APP + '/config/database.yml'))['production']
cmd = "mysqldump -u #{config['username']} -p#{config['password']} -h #{config['host']} --add-drop-table --add-locks --extended-insert --lock-tables #{config['database']} #{TABLES} | gzip -cf9 > #{dump}"
log.info 'Getting ready to create a backup'
`#{cmd}`
# Strongspace
log.info 'Backup created, starting the transfer to Strongspace'
Net::SSH.start(ftpconfig['strongspace']['host'], ftpconfig['strongspace']['username'], ftpconfig['strongspace']['password']) do |ssh|
ssh.sftp.connect do |sftp|
sftp.open_handle("#{ftpconfig['strongspace']['dir']}/#{dump}", 'w') do |handle|
sftp.write(handle, open("#{dump}").read)
end
end
end
log.info 'Finished transferring backup to Strongspace'
log.info 'Removing local file'
cmd = "rm -f #{dump}"
log.debug "Executing: #{cmd}"
`#{cmd}`
log.info 'Local file removed'
Я проверил и перепроверил все пути, и они верны. Как sftp.yml (учетные данные SFTP), так и database.yml (учетные данные MySQL) принадлежат исполняющему пользователю (deploy) с разрешениями только на чтение для этого пользователя (chmod 400). Я использую 1.1.x версии net-ssh и net-sftp. Я знаю, что они не самые последние, но это то, с чем я знаком в данный момент.
Что может быть причиной сбоя задания cron?
Почему моя работа Cron не работает должным образом?
У меня есть работа cron на Ubuntu Hardy VPS, которая работает только наполовину, и я не могу понять, почему. Задание представляет собой сценарий Ruby, который использует mysqldump для резервного копирования базы данных MySQL, используемой приложением Rails, которая затем gzipped и загружается на удаленный сервер с помощью SFTP.
Файл gzip создается и копируется успешно, но это всегда нулевые байты. Тем не менее, если я запускаю команду cron непосредственно из командной строки, Она отлично работает.
Это задание cron:
PATH=/usr/bin
10 3 * * * ruby /home/deploy/bin/datadump.rb
Это datadump.rb:
#!/usr/bin/ruby
require 'yaml'
require 'logger'
require 'rubygems'
require 'net/ssh'
require 'net/sftp'
APP = '/home/deploy/apps/myapp/current'
LOGFILE = '/home/deploy/log/data.log'
TIMESTAMP = '%Y%m%d-%H%M'
TABLES = 'table1 table2'
log = Logger.new(LOGFILE, 5, 10 * 1024)
dump = "myapp-#{Time.now.strftime(TIMESTAMP)}.sql.gz"
ftpconfig = YAML::load(open('/home/deploy/apps/myapp/shared/config/sftp.yml'))
config = YAML::load(open(APP + '/config/database.yml'))['production']
cmd = "mysqldump -u #{config['username']} -p#{config['password']} -h #{config['host']} --add-drop-table --add-locks --extended-insert --lock-tables #{config['database']} #{TABLES} | gzip -cf9 > #{dump}"
log.info 'Getting ready to create a backup'
`#{cmd}`
# Strongspace
log.info 'Backup created, starting the transfer to Strongspace'
Net::SSH.start(ftpconfig['strongspace']['host'], ftpconfig['strongspace']['username'], ftpconfig['strongspace']['password']) do |ssh|
ssh.sftp.connect do |sftp|
sftp.open_handle("#{ftpconfig['strongspace']['dir']}/#{dump}", 'w') do |handle|
sftp.write(handle, open("#{dump}").read)
end
end
end
log.info 'Finished transferring backup to Strongspace'
log.info 'Removing local file'
cmd = "rm -f #{dump}"
log.debug "Executing: #{cmd}"
`#{cmd}`
log.info 'Local file removed'
Я проверил и перепроверил все пути, и они верны. Как sftp.yml (учетные данные SFTP), так и database.yml (учетные данные MySQL) принадлежат исполняющему пользователю (deploy) с разрешениями только на чтение для этого пользователя (chmod 400). Я использую 1.1.x версии net-ssh и net-sftp. Я знаю, что они не самые последние, но это то, с чем я знаком в данный момент.
Что может быть причиной сбоя задания cron?
OpenID аутентификация в Ruby на Rails
Я неофит с Ruby на Rails, но я создал несколько небольших приложений. В любом случае, я действительно заинтересован в OpenID и хотел бы реализовать аутентификацию OpenID и, возможно, некоторые вещи Sreg в приложении Rails. Все исследования, которые я провел, пришли к статьям, которые устарели или просто не работают для меня. Поскольку я так новичок в Rails, мне трудно отлаживать проблемы таким образом...
Как лучше всего реализовать OpenId в Rails?
Как получить доступ к Ruby AST из кода уровня C?
Я понимаю, что Ruby 1.8 AST проходит во время выполнения с использованием оператора big switch, и многие вещи, такие как вызов метода в классе или родительском модуле, включают интерпретатор, который смотрит вверх и вниз по дереву, когда он идет. Есть ли простой способ получить доступ к этому AST в Ruby C расширение? Связано ли это с расширением Ruby API или требует взлома внутренних структур данных напрямую?
Готов ли Ruby на Rails для предприятия?
Есть ли кто-нибудь, кто использует RoR для крупномасштабных, критически важных для бизнеса корпоративных приложений?
Существуют ли другие облегченные веб-фреймворки, основанные на динамических языках, которые люди используют для этих типов приложений?
Если вы не используете эти типы фреймворков приложений, что вас останавливает? Это просто инерция, связанная с любой крупной организацией IT. Являются ли проблемы скорости и стабильности этих структур достаточной проблемой, чтобы они компенсировали улучшение времени цикла разработки?
Что IDE использовать для разработки в Ruby на Rails на Windows?
Возможный Дубликат:
Какие Ruby IDE вы предпочитаете?
Возможный Дубликат:
Какие Ruby IDE вы предпочитаете?
Я вообще-то делал вещи на Microsoft .NET после окончания колледжа почти 2 года назад. Я просто начал смотреть на Ruby на Rails. Итак, какой редактор я должен использовать? Я использую Notepad++ прямо сейчас, но могу ли я получить отладку и т. д. каким-то образом?
Последние / Rack deployment
Я знаю, что это довольно экзотично, но я хочу развернуть веб-приложение Ruby (не на основе Rails, а на основе Rack, поэтому он подключается к большинству серверов Ruby просто отлично) с использованием JRuby. Google и друзья дают мне несколько историй успеха, но в основном rails связаны, а если нет, то никаких подробностей о deployment не предоставляется. Фреймворк, который я использую, - это Ramaze, если это имеет значение.
Любая помощь будет принята с благодарностью.
Что вы предпочитаете Ruby IDE?
В последнее время я часто использую Eclipse с RDT (а не RadRails), и я вполне доволен этим, но мне интересно, Знаете ли вы, ребята, какие-нибудь достойные альтернативы. Я знаю, что NetBeans также поддерживает Ruby в эти дни, но я не уверен, что он может предложить больше Eclipse.
Пожалуйста, перечислите все функции, которые вы считаете блестящими или полезными, когда предлагаете IDE, что облегчает сравнение.
Кроме того, я сказал Ruby, а не Rails. Хотя поддержка Rails-это плюс, я предпочитаю, чтобы вещи не были Rails-центрическими. Он также должен быть доступен на Linux и опционально Solaris.
Как Вы Защищаете database.yml?
В пределах Ruby на Rails приложения database.yml представляет собой обычный текстовый файл, который хранит учетные данные базы данных.
Когда я развертываю свои приложения Rails, у меня есть обратный вызов после развертывания в моем Capistrano рецепт, который создает символическую ссылку в каталоге приложения /config на файл database.yml. Сам файл хранится в отдельном каталоге, который находится вне стандартной структуры каталогов Capistrano /releases. Я chmod 400 файл, так что он читается только пользователем, который его создал.
- Достаточно ли этого, чтобы заблокировать его? А если нет, то чем еще вы занимаетесь?
- Кто-нибудь шифрует свои файлы database.yml?
Ruby блоков/Java closures в C
Я пытался понять, как работают блоки Ruby, и для этого я пытался реализовать их в C.
Один из простых способов реализации closures-передать void* в окружающий стек в функцию closure/function, но блоки Ruby также обрабатывают операторы returns и break из области, которая использует блок.
loop do
break i if (i >= 4000)
i *= 2
end
Я думаю, что одно из предложений closures для Java работает так же.
Итак, как бы вы реализовали Ruby-blocks/Java-closures в C?
Будучи как DRY, насколько это возможно в Ruby на Rails приложение
В настоящее время я использую удивительный плагин attachment-fu для приложения Rails, но как начинающий разработчик я никогда не сталкивался с сценарием, подобным тому, в котором я оказался.
По сути, я использую плагин attachment-fu на двух уровнях.
- Это для пользовательских аватаров в классе user.
- Это разрешить вложения файлов ( PDFs и т. д.) В системе обмена сообщениями.
Мой вопрос заключается в том , какой наилучшей практикой использования было бы в этих ситуациях оставаться DRY , ясным и последовательным.
Очевидно, что нет смысла определять и выполнять плагин в обоих классах, но есть что-то очень странное для меня (возможно, необоснованное) о том, чтобы просто идти вперед и настраивать все это в классе божественного приложения.
Есть ли что-то между ними, или родительский класс-это путь?
Спасибо!
Какие-либо советы по получению Rails для запуска с доступом к бэк-энду?
Я содрогаюсь, чтобы спросить, но мой клиент не может предложить никакого другого решения SQL (или SQL-подобного). Я знаю, что доступ имеет некоторые крючки SQL; достаточно ли их для базового ActiveRecord?
Позже:
Я ценю все предложения использовать другие базы данных, но поверьте мне: я пытался убедить их. Существует список "approved", и в нем нет баз данных SQL. Включение чего-то в список может занять больше года, и этот проект будет завершен через три недели.
Связывание ключевых слов источника и поиска с созданием учетной записи
В рамках процесса регистрации для моего онлайн-приложения я думаю о отслеживании источника и / или ключевых слов поиска, используемых для доступа к моему сайту. Это позволит мне увидеть, что реклама работает и откуда с несколько более тонким зерном, чем Google Analytics.
Я предполагаю, что могу установить какой-то файл cookie с этой информацией, когда люди попадают на мой сайт, но я не уверен, как я буду его получать. Это вообще возможно?
Я использую Rails, но независимое от языка решение (или даже просто указатели на то, где найти эту информацию) будет оценено!
Есть ли способ вызвать закрытый метод класса из экземпляра в Ruby?
Кроме self.class.send :method, args..., конечно. Я хотел бы сделать довольно сложный метод доступным как на уровне класса, так и на уровне экземпляра, не дублируя код.
UPDATE :
Бранам: это было мое предположение, но я хотел убедиться, что никто другой не нашел обходного пути. Видимость в Ruby сильно отличается от таковой в Java. Вы также совершенно правы, что private не работает с методами класса, хотя это объявит частный метод класса:
class Foo
class <<self
private
def bar
puts 'bar'
end
end
end
Foo.bar
# => NoMethodError: private method 'bar' called for Foo:Class
В чем разница между Ruby 1.8 и Ruby 1.9
Я не совсем понимаю разницу между версией "current" Ruby (1.8) и версией "new" (1.9). Существует ли "easy" или "simple" объяснение этих различий и почему они так различны?
Как работают механизмы обнаружения контента, такие как Zemanta и Open Calais?
Мне было интересно, как семантический сервис, такой как Open Calais, вычисляет названия компаний или людей, технологические концепции, ключевые слова и т. д. из отрывка текста. Это потому, что у них есть большая база данных, с которой они сопоставляют текст?
Как такая служба, как Zemanta, может знать, какие изображения предложить, например, фрагменту текста?
Acts-as-readable Rails проблема плагина
Я использую Intridea в качестве читаемого плагина Rails для системы обмена сообщениями, которую я сейчас создаю. Я определил свой класс сообщений соответственно:
class Post < ActiveRecord::Base
acts-as-readable
end
И все, кажется, работает по плану, но при попытке заставить приложение показывать непрочитанные сообщения в моем представлении сообщений, я сталкиваюсь с проблемами.
Их пример: (я изменил подчеркивания на дефисы из-за проблем с форматированием)
bob = User.find_by_name("bob")
bob.readings # => []
Post.find_unread_by(bob) # => [<Post 1>,<Post 2>,<Post 3>...]
Post.find_read_by(bob) # => []
Post.find(1).read_by?(bob) # => false
Post.find(1).read_by!(bob) # => <Reading 1>
Post.find(1).read_by?(bob) # => true
Post.find(1).users_who_read # => [<User bob>]
Post.find_unread_by(bob) # => [<Post 2>,<Post 3>...]
Post.find_read_by(bob) # => [<Post 1>]
bob.readings # => [<Reading 1>]
Поэтому кажется, что если бы я хотел перечислить количество непрочитанных сообщений, находящихся в почтовом ящике (например, Inbox (39) ), я должен был бы сделать что - то вроде:
<%= Post.find_unread_by(current-user).count %>
Но безрезультатно. Я всегда, кажется, застреваю на простых проблемах просмотра после того, как все установлено. Есть идеи?
Как лучше всего настроить компиляцию Ruby в Debian?
При компиляции из исходного кода я никогда не знаю, какие флаги конфигурации использовать для оптимизации компиляции для моей среды. Предположим следующее hardware/OS:
- Одноядерный Процессор, 2 GHz Intel
- 512МБ Ram
- Debian 4
Я обычно просто иду с
./configure --prefix=/usr/local
Я должен делать что-нибудь еще?
Как я могу построить график строк истории кода для git РЕПО?
В принципе, я хочу получить номер lines-of-code в репозитории после каждого коммита.
Единственный (действительно дерьмовый) способ, который я нашел, - это использовать git filter-branch для запуска wc -l * , а сценарий, который запускает git reset --hard на каждом коммите, затем запускает wc -l
Чтобы было немного понятнее, когда инструмент запускается, он выводит строки кода самого первого коммита, затем второго и так далее. Это то, что я хочу, чтобы инструмент вывел (в качестве примера):
me@something:~/$ gitsloc --branch master
10
48
153
450
1734
1542
Я поиграл с библиотекой ruby 'git', но ближе всего я нашел метод .lines() на diff, который, похоже, должен давать добавленные строки (но не дает: он возвращает 0, когда вы удаляете строки, например)
require 'rubygems'
require 'git'
total = 0
g = Git.open(working_dir = '/Users/dbr/Desktop/code_projects/tvdb_api')
last = nil
g.log.each do |cur|
diff = g.diff(last, cur)
total = total + diff.lines
puts total
last = cur
end
Как мне маршалировать a lambda (Proc) в Ruby?
Джо Ван Дайк спросил список рассылки Ruby :
Привет,
В Ruby, я полагаю, вы не можете маршалировать объект lambda/proc, верно? Является это возможно в lisp или других языках?
То, что я пытался сделать:
l = lamda { ... }
Bj.submit "/path/to/ruby/program", :stdin => Marshal.dump(l)
Итак, я посылаю BackgroundJob a lambda объект, который содержит контекст/код для того, что нужно сделать. Но, наверное, это было невозможно. Я в итоге был выполнен маршалинг обычного объекта ruby, содержащего инструкции для того, что делать после запуска программы.
Джо
Настройка атрибутов в макетах Webby
Я работаю с Webby и ищу некоторые разъяснения. Могу ли я определить атрибуты, такие как title или author в моем макете?
Лучшее решение для аутентификации в Ruby на Rails
Я ищу готовое решение, которое можно использовать в моем приложении RoR. В идеале я ищу что-то похожее на проверку подлинности ASP.NET форм, которая обеспечивает проверку email, элементы управления регистрацией и позволяет пользователям сбрасывать свои пароли. Ах да, и легко позволяет мне вытащить пользователя, который в данный момент вошел в приложение.
Я начал просматривать уже написанные фрагменты, но обнаружил, что это действительно сбивает с толку. Я посмотрел на LoginGenerator, RestfulAuthentication, SaltedLoginGenerator, но, похоже, нет ни одного места, где есть отличные учебники или их сравнение. Если есть сайт, который я просто еще не обнаружил, или если есть стандарт де-факто, которым пользуется большинство людей, я был бы признателен за помощь.
Программирование простого клиента IRC (Internet-Relay-Chat)
Я начал использовать IRC в молодом возрасте, и я всегда был очарован им. В качестве языкового упражнения я думал о программировании простого клиента IRC в Ruby с обувью в качестве графического интерфейса. Мой вопрос к вам, добрые господа, что мне нужно знать, чтобы начать это великое приключение (кроме обуви и Ruby, конечно)? Я полагаю, что есть какая-то спецификация на протокол IRC. Есть какие-нибудь указания?
WYSIWYG редактор gem для Rails?
Есть ли хороший ruby gem для редактора WYSIWYG, который легко будет работать с приложением rails?
Ruby производительность
Я очень хочу разработать свое первое приложение Ruby, так как моя компания, наконец, благословила его использование внутри.
Во всем, что я читал о Ruby до v1.8, никогда не было ничего положительного сказано о производительности, но я ничего не нашел о версии 1.9. Последние цифры, которые я видел о 1.8, были значительно медленнее, чем почти все там, поэтому я надеюсь, что это было рассмотрено в 1.9.
Значительно ли улучшилась производительность? Есть ли какие-то конкретные вещи, которые можно сделать с помощью Ruby приложений (или вещей, чтобы избежать), чтобы сохранить производительность на лучшем уровне?
Как представить информацию о кросс-модели в MVC?
У меня есть приложение, построенное с использованием MVC, которое создает представление, которое предоставляет сводную информацию по нескольким моделям. Кроме того, некоторые вычисления выполняются по различным наборам данных.
Нет четкой единой модели (которая, по крайней мере, сопоставляется с таблицей), которая, по-видимому, имеет смысл в качестве отправной точки для этого, поэтому различные сводки извлекаются из способствующих моделей в контроллере, передаются в представление и вычисления выполняются там.
Но это кажется, ну, грязным . Но контроллеры должны быть легкими, не так ли? И бизнес-логика не должна быть в представлениях,так как у меня она присутствует.
Так где же должна быть собрана эта информация? Новая модель, которая не сопоставляется с таблицей? Библиотека function/module? или что-то еще?
(Хотя я рассматриваю это как в основном архитектурный / шаблонный вопрос, я работаю в Rails, FWIW.)
Edit: хорошие ответы на все вопросы и много консенсуса, что обнадеживает. Я "accepted" ответ, который я сделал, чтобы сохранить ссылку на Railscasts в верхней части. Я отстаю в своем просмотре Railscast-что-то, что я буду делать напряженные попытки исправить!
Существует ли задача rake для резервного копирования данных в вашей базе данных?
Существует ли задача rake для резервного копирования данных в вашей базе данных?
У меня уже есть резервная копия моей схемы, но я хочу сделать резервную копию данных. Это небольшая база данных MySQL.
Как мне изящно закрыть веб-сервер Mongrel
Мое приложение RubyOnRails настроено с обычным пакетом дворняг за конфигурацией Apache. Мы заметили, что использование памяти нашего веб-сервера Mongrel может быть довольно большим при определенных операциях, и мы действительно хотели бы иметь возможность динамически выполнять изящный перезапуск выбранных процессов Mongrel в любое время.
Однако по причинам, которые я не буду здесь вдаваться, иногда может быть очень важно, чтобы мы не прерывали дворняжку, пока она обслуживает запрос, поэтому я предполагаю, что простое убийство процесса не является ответом.
В идеале, я хочу послать дворняге сигнал, который говорит: "закончите все, что вы делаете, а затем прекратите, прежде чем принимать какие-либо дополнительные соединения".
Существует ли стандартная техника или лучшая практика для этого?
Ruby / Rails доисторические даты на windows
Работая с датами в ruby и rails на windows, у меня возникают проблемы с датами до эпохи (до 1970 года), выбрасывающими исключения из диапазона. Я попытался использовать оба объекта Time и DateTime , но по-прежнему имею те же проблемы.
не могу установить ruby драгоценные камни - Ошибки работы с zlib
Я пытаюсь установить некоторые драгоценные камни Ruby, чтобы использовать Ruby для уведомления меня, когда я получаю сообщения twitter. Однако, сделав gem update --system, я теперь получаю ошибку zlib каждый раз, когда я пытаюсь сделать gem install чего-либо. ниже приведен вывод консоли, который я получаю при попытке установить ruby gems. (вместе с выводом из gem environment).
C:\data\ruby>gem install twitter
ERROR: While executing gem ... (Zlib::BufError)
buffer error
C:\data\ruby>gem update --system
Updating RubyGems
ERROR: While executing gem ... (Zlib::BufError)
buffer error
C:\data\ruby>gem environment
RubyGems Environment:
- RUBYGEMS VERSION: 1.2.0
- RUBY VERSION: 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
- INSTALLATION DIRECTORY: c:/ruby/lib/ruby/gems/1.8
- RUBY EXECUTABLE: c:/ruby/bin/ruby.exe
- EXECUTABLE DIRECTORY: c:/ruby/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-mswin32-60
- GEM PATHS:
- c:/ruby/lib/ruby/gems/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://gems.rubyforge.org/
Создание объектной модели в Ruby из XML DTD
У меня есть документ XML с DTD, и я хотел бы иметь доступ к модели XML, что-то вроде этого:
title = Thing.Items[0].Title
Есть ли способ, в Ruby, для создания такого рода объектной модели на основе DTD? Или я застрял с помощью REXML?
Спасибо!
Как я могу поддерживать проверку подлинности сертификата клиента SSL?
Я хочу сделать то же, что делает myopenid - после того, как вы вошли в систему, вы можете нажать кнопку, которая генерирует вам сертификат SSL; браузер затем загружает этот сертификат и сохраняет его. Когда вы позже вернетесь к yourid.myopenid.com, Ваш браузер может использовать свой сохраненный сертификат для аутентификации, поэтому вам никогда не понадобится пароль.
Итак, мои вопросы - что требуется для того, чтобы это сработало? Как создать сертификаты? Как я могу подтвердить их, когда они будут представлены мне обратно?
Мой стек составляет Rails на Apache, используя Passenger, но я не слишком разборчив.
XML => HTML с Hpricot и Rails
Я никогда не работал с веб-сервисами и rails, и, очевидно, это то, что мне нужно узнать. Я решил использовать hpricot, потому что он выглядит великолепно. В любом случае, _why был достаточно хорош, чтобы предоставить следующий пример на веб -сайте hpricot :
#!ruby
require 'hpricot'
require 'open-uri'
# load the RedHanded home page
doc = Hpricot(open("http://redhanded.hobix.com/index.html"))
# change the CSS class on links
(doc/"span.entryPermalink").set("class", "newLinks")
# remove the sidebar
(doc/"#sidebar").remove
# print the altered HTML
puts doc
Которая выглядит простой, элегантный, и удобной для тебя такого. Отлично работает в Ruby, но мой вопрос: Как я могу разбить это в rails?
Я экспериментировал с добавлением всего этого к одному контроллеру, но не мог придумать лучший способ назвать его в представлении.
Итак, если бы вы разбирали файл XML из web API и печатали его в nice clean HTML с помощью Hpricot, как бы вы разбили активность по моделям, представлениям и контроллерам, и что бы вы поместили туда?
Есть ли способ объединить именованные области в новую именованную область?
У меня есть
class Foo < ActiveRecord::Base
named_scope :a, lambda { |a| :conditions => { :a => a } }
named_scope :b, lambda { |b| :conditions => { :b => b } }
end
Я хотел бы
class Foo < ActiveRecord::Base
named_scope :ab, lambda { |a,b| :conditions => { :a => a, :b => b } }
end
но я бы предпочел сделать это в стиле DRY. Я могу получить тот же эффект, используя
Foo.a(something).b(something_else)
но это не особенно красиво.
Развертывание подкаталога Git в Capistrano
Мой главный макет ветви выглядит так:
/ <-- верхний уровень
/client <-- исходные файлы desktop client
/server <-- Rails приложение
Все , что я хотел бы сделать, это просто снять каталог /server в моем deploy.rb, но я не могу найти никакого способа сделать это. Каталог /client огромен, поэтому настройка крючка для копирования /server в / не будет работать очень хорошо, ему нужно только снять приложение Rails.
Rails требует RubyGems >= 0.9.4. Пожалуйста, установите RubyGems
Я развертываю в Ubuntu slice на slicehost, используя Rails 2.1.0 (от gem )
Если я попробую mongrel_rails start или script / server, я получу эту ошибку:
Rails requires RubyGems >= 0.9.4. Please install RubyGems
Когда я набираю gem -v , у меня установлена версия 1.2.0 . Любые быстрые советы о том, на что смотреть, чтобы исправить?
Ruby-преобразование целого числа в строку
В Ruby попытка распечатать отдельные элементы строки доставляет мне проблемы. Вместо того, чтобы видеть каждый символ, я вижу их значения ASCII вместо этого:
>> a = "0123"
=> "0123"
>> a[0]
=> 48
Я посмотрел в интернете, но не могу найти никакого способа, чтобы получить оригинал "0" обратно из него. Я немного новичок в Ruby, чтобы знать, что это должно быть что-то простое, но я просто не могу его найти.
Как создать сообщение о выходе
Существует ли вызов функции одной строки, которая завершает работу программы и выводит сообщение? Я знаю, что в Perl это так же просто, как:
die("Message goes here")
Я устал печатать это:
puts "Message goes here"
exit
Книгу по Rails 3 на русском или английском?
Хотелось бы заиметь что-то похожее на «Гибкую разработку веб-приложений в среде Rails» (с примером приложения, которое пишется по ходу повествования), но уже для третих рельс. И вообще хорошо будет если там же про RSpec будет.
Получение опыта в программировании?
Расскажите каким образом получить опыт в программировании практических задач? Имею ввиду, что в книгах, учебниках с задачами типа «найти минимальный и максимальный элементв в массиве» можно получить какие-то базовые знания, но куда полезней бывает решать какие-то более полезные задачи.
В моём случае пытаюсь изучать «Ruby» и «Rails», хочется каких-нибудь небольших задач, интересных и не очень. «Изобретать велосипеды» в виде блогов для себя не хочется, а фантазии на большее не хватает. Может есть что-то типа «бесплатного фриланса»?
Вообщем если есть какие-то мысли — пишите.
Другими словами сделаю что-нибудь бесплатно.
Attachment_fu — самый лучший плагин для Ruby on Rails для загрузки файлов с сайта по HTTP?
Attachment_fu — самый лучший плагин для Ruby on Rails для загрузки файлов с сайта по HTTP?
Чем вы пользуетесь для решения повседневных задач: загрузить изображение, изменить его размеры, произвести валидацию характеристик загруженного файла и т.п.?
Обновление средствами chef?
Раньше для выкатывания новых релизов приложения я пользовался capistrano, но теперь у нас 10 продакшн серверов, и из-за специфики сервиса регулярно нужно добавлять новые.
Дабы сэкономить себе время на будущее, я решил потратить пару дней на автоматизацию процесса подключения ноды в систему. Как только я начал писать скрипт для capistrano, на хабре появилась заметка о chef. Так всегда происходит!
Прочитал заметку, изучил документацию, провозился с кукбуками, и все получилось.
Теперь новые сервера я ввожу в строй одной командой. Но остался один не решенный вопрос:
Приложение активно разрабатывается и в обновлении нуждается довольно часто. Этот момент тоже необходимо автоматизировать. Можно сделать так, чтобы knife bootstrap добавлял информацию о новых серверах в конфиги капистрано, но я думаю, что это нерациональный способ, и все можно решить средствами chef. Как это возможно?
Немногословный кросспост на stackoverflow.com.
PS. После прочтения документации и постов на хабре у меня сложилось впечатление, что chef нуженисключительно для работы c новыми серверами посредством команды knife bootstrap. Так ли это? Или серверами действительно можно управлять, о чем гласит заголовок этой статьи?
296   1   23:33, 11th August, 2020
Какой облачный хостинг выбрать под проект на Ruby On Rails?
Если рассматривать облачный хостинг под Ruby On Rails приложение, то какой стоит выбрать?
Критерии:
1) Хочется, чтобы можно было запускать несколько сайтов в одной конфигурации (если я правильно понял, то на heroku.com нельзя). Это не критичный пункт.
2) Хочется автомаштабирование (autoscaling)
3) Хочется встроенной поддержки Rails (хотя не обязательно), причём rails 3
4) Хочется подешевле :)
Если есть опыт развёртывания rails приложений в облаках, просьба поделиться впечатлениями
Обновление средствами chef?
Раньше для выкатывания новых релизов приложения я пользовался capistrano, но теперь у нас 10 продакшн серверов, и из-за специфики сервиса регулярно нужно добавлять новые.
Дабы сэкономить себе время на будущее, я решил потратить пару дней на автоматизацию процесса подключения ноды в систему. Как только я начал писать скрипт для capistrano, на хабре появилась заметка о chef. Так всегда происходит!
Прочитал заметку, изучил документацию, провозился с кукбуками, и все получилось.
Теперь новые сервера я ввожу в строй одной командой. Но остался один не решенный вопрос:
Приложение активно разрабатывается и в обновлении нуждается довольно часто. Этот момент тоже необходимо автоматизировать. Можно сделать так, чтобы knife bootstrap добавлял информацию о новых серверах в конфиги капистрано, но я думаю, что это нерациональный способ, и все можно решить средствами chef. Как это возможно?
Немногословный кросспост на stackoverflow.com.
PS. После прочтения документации и постов на хабре у меня сложилось впечатление, что chef нуженисключительно для работы c новыми серверами посредством команды knife bootstrap. Так ли это? Или серверами действительно можно управлять, о чем гласит заголовок этой статьи?
377   1   03:04, 15th August, 2020
Какой облачный хостинг выбрать под проект на Ruby On Rails?
Если рассматривать облачный хостинг под Ruby On Rails приложение, то какой стоит выбрать?
Критерии:
1) Хочется, чтобы можно было запускать несколько сайтов в одной конфигурации (если я правильно понял, то на heroku.com нельзя). Это не критичный пункт.
2) Хочется автомаштабирование (autoscaling)
3) Хочется встроенной поддержки Rails (хотя не обязательно), причём rails 3
4) Хочется подешевле :)
Если есть опыт развёртывания rails приложений в облаках, просьба поделиться впечатлениями
Чего посоветуете использовать для подмены веб запросов?
fakeweb или webmock?
Можно комментариями здесь, либо проголосовать.
Что-то вроде денвера, но с ruby под win32?
Сам я не рубист. Знакомые попросили настроить redmine для ознакомления у них.
В связи с этим вопрос, есть ли какие-то легкие пакеты, вроде денвера, но с руби? Чтобы чайник мог поставить и забыть (я б ему по телефону сказал, на какие кнопки жать).
Все это нужно под вынь.
Куда идти после php? Ruby или Python?
Собственно вопрос в заголовке :) Хочется услышать принципиальные различия между языками. Для каких задач что лучше подходит?
Как сделать инвайты на Rails 3
Типичная проблема: нужно сделать систему создания, отправки и валидации инвайтов для пользователей на рельсах.
Используется Authlogic.
Погуглил — ничего сразу не нашлось, а писать велосипед самому всегда успеется.
RubyOnRails: Как пользоваться remote_function?
Как пользоваться remote_function? Хочу сделать, чтобы при нажатии на плюсик в ячейке таблицы, дорисовывалось ещё несколько строк или одна, ниже этой строки.
Ruby on Rails 3 validation model
Предположим у нас есть User модель и в ней есть first_name, last_name, email поля. Все они обязательные. Соотвественно в модели мы прописываем
что-то типа такого
validates :first_name, :presence => true
validates :last_name, :presence => true
validates :email, :presence => true
и все было бы хорошо если бы форма была на одной странице.
А теперь вопрос, как поступть с validation если форма для апдейта first_name и last_name на одной странице а email на другой.
По умолчанию так сказать на форме где first_name и last_name если ее засабмитеть то будет ошибка что мол email требуется и это верно (у меня же email на другой странице нужно обновлять), тоже самое и на форме email где валидация будет просить first_name и last_name. Меня интересует как в Rails 3 корректно обрабатывать такую ситуацию.
К примеру в ASP.NET MVC я делаю как бы child ViewModel непосредственно для конкретного View проверяю поля и потом делаю маппинг свойств с родительской моделью. Как правильно это сделать в Rails 3?
Не могу запустить redmine :(
Добрый день, коллеги.
Понадобилось мне поставить development версию redmine, дабы посмотреть как там одна функциональность устроена. Но так как веб разработка — не мой профиль, то как и ожидалось ничего не получилось :(. Вроде бы делаю все по феншую, в полном соответствии с инструкцией на redmine.org, на дружественной MacOS — но не работает. Если у кого есть опыт установки redmine — подскажите, что это может быть.
ОС: Mac OS X Snow Leopard со всеми обновлениями.
Ruby: 1.8.7
Rails: 2.3.5
Rack: 1.0.1
Выполняю следующие команды:
svn checkout redmine.rubyforge.org/svn/tags/1.0.2 redmine
cd redmine
cp config/database.yml.example config/database.yml
vi config/database.yml
Меняю production и development на SQLite
rake generate_session_store
RAILS_ENV=development rake db:migrate
RAILS_ENV=development rake redmine:load_default_data
ruby script/server -e development
Сервер запускается, главная страница Redmine доступна на хттп://0.0.0.0:3000
После логина admin/admin при попытке зайти в profile получаем:
ArgumentError in My#account
Showing app/views/my/_sidebar.rhtml where line #4 raised:
wrong number of arguments (2 for 0)
Extracted source (around line #4):
1: <%=l(:label_my_account)%>
2:
3: <%=l(:field_login)%>: <%= @user.login %>
4: <%=l(:field_created_on)%>: <%= format_time(@user.created_on) %>
5:
6:
7: <%= l(:label_feeds_access_key) %>
Trace of template inclusion: app/views/my/account.rhtml
RAILS_ROOT: /Users/eye/rails/redmine
То же самое в trunk и при production. Ошибку понять не могу, по коду идет абсолютно валидный вызов метода о двух параметрах с двумя аргументами — в трейсе же написано что у вызываемого метода не два параметра, а ноль. Либо я совсем не знаю синтаксиса ruby, либо рефлекшн с полиморфизмом постарались :(.
cd redmine
cp config/database.yml.example config/database.yml
vi config/database.yml
Меняю production и development на SQLite
rake generate_session_store
RAILS_ENV=development rake db:migrate
RAILS_ENV=development rake redmine:load_default_data
ruby script/server -e development
Showing app/views/my/_sidebar.rhtml where line #4 raised:
wrong number of arguments (2 for 0)
Extracted source (around line #4):
1:
<%=l(:label_my_account)%>
2:
3: <%=l(:field_login)%>: <%= @user.login %>
4: <%=l(:field_created_on)%>: <%= format_time(@user.created_on) %>
5:
6:
7:
<%= l(:label_feeds_access_key) %>
Trace of template inclusion: app/views/my/account.rhtml
RAILS_ROOT: /Users/eye/rails/redmine
Debian разрешить юзеру исользовать 80 порт
Подскажите каким образом в Debian (testing) разрешить пользователю(не root) использовать 80ый порт?
Хочу запустить web-server thin на 80ом порту с правами обычного пользователя.
Сравнение изображений?
У меня есть проблема: нужно сделать программу на языке Ruby, которая сравнивала бы два изображения. Скорость работы особого значения не имеет, так как демонстрироваться будут алгоритмы. Есть ли какие-нибудь библиотеки для Ruby, которые имеют встроеные методы сравнения, знаю о библиотеке RMagick, но документации на русском нет. Если нет таких библиотек, то как бы упростить процесс написания таких методов? Может какие-то функции языка «С» использовать, вообщем пригодится у меня знаний в этом нет, рассмотрю любые варианты решения проблемы. Спасибо.
Ruby on Rails 3 — итератор для аксессоров модели?
Вопрос в контексте Ruby on Rails 3.0.3.
Дано: модель (она же сущность, она же таблица) с 30+ полей (они же аттрибуты, аксессоры). есть скаффолдинговый view (ссылка на исходник), в котором простым текстом выводится название и значение поля. Беда в том, что здесь во view жёстко записаны названия полей. Хотелось бы, чтобы это были переменные, так как подключен модуль локализации.
Требуется: записать не прямым текстом все 30+ полей в HTML, а пройти по всем атрибутам модели и для каждого атрибута взять своё i18n-имя (Lastname или Фамилия). Ну и вывести.
@request.to_a.each — не помогает, поскольку атрибуты типа lastname — это вроде аксессоры, то есть методы (?).
Может я где-то чего-то недопонимаю, поясните.
https://gist.github.com/713493
Как прикрутить image-hosting к проэкту на ruby on rails?
итак в своем проекте на Ruby ON Rails я хочу дать пользователям возможность закачивать фотографии, но не хочу их хранить у себя.
Пользователи — в основном не IT гики, поэтому для них этот процесс должен проходить прозрачно, (т.е. без надобности уходить на сайт image хостера, а потом приходить обратно и постить сылку)
если ктото сталкивался с подобной задачей — поделитесь опытом.
Rails. ActiveRecord. Ассоциации?
Есть таблица Images. Как правильно сделать ассоциацию Images к самой себе, используя миграции? Как правильно назвать дополнительную связывающую таблицу? Что прописать в модели Image?
Ruby on Rails 3 — Ajax preloader?
Добрый вечер! Подскажите rails way для создания ajax подгрузки контента страницы, например есть шаблон со списком продуктов, и пока он не подгрузился показываем индикатор загрузки. Спасибо за ответы!
Какие есть каталоги полезных gems/plugins для Rails 3
Хотелось бы, чтобы под рукой был список всех полезных гемов для рельсов, но сколько не смотрю, те сайты что видел они содержат или очень старые плагины или это www.railsplugins.org/, который только сообщает что работает под рельсы 3.
Есть ли такой сайт, где были б собраны все нужные гемы и при этом достаточно понятно каталогизированы, чтоб можно было легко найти гем, который подходит под выбранную задачу.
Спасибо.
Чем рекомендуете распарсить Ruby на Ruby же?
Хочется распарсить язык навроде Ruby/JavaScript, где ";" в конце стэйтмента можно опустить если строка сразу и заканчивается.
В то же время, расставлять пробелы в каждом месте правил где они (пробелы) могут встретиться очень бы не хотелось (Citrus).
Эффективность исполнения кода неважна, скорее требуется быстрота, простота и изящество при написании правил и обработчиков событий.
Редирект страницы, узнать URL с помощью Ruby
Имею адрес: site.com/?foo=bar
При переходе на него сервер отдает HTTP-заголовок Location с переадресацией на второй адрес, например site.com/products/foo_id/bar_id
Я знаю только исходный (http://site.com/?foo=bar), как с помощью Руби узнать адрес, куда он редиректит?
Настройка Rails под Apache
Всем привет.
Поставил rvm, всё отлично. Сделал rails new example.
Дальше, по идее, надо кинуть .htacces в public с примерно таким содержанием:
AddHandler fcgid-script .fcgi
RewriteEngine On
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)/!$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
ErrorDocument 500 "Application error Application failed to start properly"
И прописать /public как DocumentRoot.
Но проблема вот в чем: dispatch.fcgi (и dispatch.cgi тоже) отсутсвуют. Где их взять?
Софт: Ubuntu Server 10.04 64-bit, Ruby 1.9.2, Rails 3.0.3 и вмеру кривые руки.
RewriteEngine On
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)/!$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
ErrorDocument 500 "Application error Application failed to start properly"
Интернет-магазин на Ruby on rails. Нужен толковый совет?
Замечаю что многих желающих перейти на RoR мучает проблема выбора нужных инструментов, и по этому поводу хотелось бы собрать несколько ваших ценных советов, чтобы просуммировать материал в одной хорошей статье на эту тему. Многим бы помогло при «свитче» на RoR.
Уважаемые знатоки!
Подскажите пожалуйста как будет быстрее и элегантнее всего развернуть интернет-магазин на ruby on rails.
Главная цель
Быстро и без пыли заиметь адекватный бэкенд для добавления/редактирования товаров. Также система пользователей, шаблоны ну и прочие сопутствующие функции.
Выберем из существующих RoR-CMS
Конечно хотелось бы смотреть в сторону довольно популярной Refinery CMS, потому что пока это единственная система на Rails 3, среди тех что я видел. В плане расширений у них есть раздел engines, но в списке нет ничего похожего на «shop/e-commerce».
Так же привлекла внимание т.н. Radiant CMS. Как минимум наличием нужного расширения. Но есть большой(?) минус: она не переписана на Rails 3. Нужно ли с ней возится? Просто мне лично кажется, что полезнее изучать актуальные технологии.
Видел еще Spree — движок непосредственно для интернет-магазина. Но там, вроде, тоже не Rails 3.
Мои текущие соображения
Мысль к которой сейчас склоняюсь: взять именно refinery и написать свой engine магазина для нее. Заодно опыта поднаберусь в ruby/ror. А в плане админки — в системе и так уже почти все что надо есть, возни с интерфейсом будет не много.
Оффтоп: использование engines в RoR это как, хороший стиль?
На последок: буду уж очень признателен
Хорошим советом будет если кто скажет хороший набор gem'sов на всякие случаи жизни (чтобы я чего-нибудь из того что deprecated, не дай бог, не поставил :-) Ну или ссылка на ресурс со списком актуальных расширений была бы еще полезнее!
Направьте новичка :-)
Спасибо!
362   9   12:28, 7th August, 2020
ruby-mysql2: MySQL server has gone away
Есть даемон написанный на ruby с использованием гема mysql2, занимается тем, что иногда получает сообщение из AMQP и пишет в базу.
При длительном простое MySQL закрывает соединение по таймауту и при попытке выполнить запрос вываливается exception 'MySQL server has gone away'. Гугл выдает решение для ActiveRecord, про mysql2 ничего. В методах класса Mysql2::Client ничего подходящего не нашел, опция :reconnect => true не помогает.
Как проверить соединение перед выполнением запроса и если оно закрыто, то поднять его снова?
Загвоздка в создании XML на Ruby (через nokogiri)
C помощью ruby создаю XML для вордпресса
Там встречается такая структура тегов
<content:encoded>text</content:encoded>
<wp:id>text</wp:id>
<wp:menu_order>text</wp:menu_order>
и.т.д
Нашел пример:
builder = Nokogiri::XML::Builder.new do |xml|
xml.root('xmlns:content' => 'bar') {
xml['xmlns:content'].encoded{xml.text "text"}
}
end
puts builder.to_xml
Но он выдает в результате лишние строки (root):
<?xml version="1.0"?>
<root xmlns:content="bar">
<content:encoded>text</content:encoded>
Подскажите пожалуйста, как получить только нужные строки
т.е
<content:encoded>text</content:encoded>
<wp:id>text</wp:id>
<wp:menu_order>text</wp:menu_order>
xml.root('xmlns:content' => 'bar') {
xml['xmlns:content'].encoded{xml.text "text"}
}
end
puts builder.to_xml
<root xmlns:content="bar">
<content:encoded>text</content:encoded>