Найдено результатов: 39

Реализация функции "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 ).

ruby-on-rails   ruby   http    

512   8   16:03, 1st July, 2020


Частые 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'

ruby-on-rails   ruby   crash    

451   4   16:03, 1st July, 2020


Как исправить ошибку "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-on-rails   ruby   exception   plugins    

483   2   16:03, 1st July, 2020


Как продать Python в client/boss/person

Когда вас просят создать систему XYZ и вы просите сделать это в Python над PHP или Ruby, какие основные функции вы можете упомянуть, когда они требуют от вас объяснения?

php   python   ruby-on-rails   ruby    

510   8   16:03, 1st July, 2020


Обучение 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-on-rails   ruby   grails   groovy    

422   15   16:03, 1st July, 2020


Обучение 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-on-rails   ruby   grails   groovy    

391   15   16:03, 1st July, 2020


Почему 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-on-rails   ruby   sqlite    

418   2   05:39, 28th August, 2020


Почему моя работа 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?

ruby-on-rails   ruby   linux   ubuntu   cron    

437   4   14:06, 11th August, 2020


Почему моя работа 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?

ruby-on-rails   ruby   linux   ubuntu   cron    

462   4   07:06, 15th August, 2020


OpenID аутентификация в Ruby на Rails

Я неофит с Ruby на Rails, но я создал несколько небольших приложений. В любом случае, я действительно заинтересован в OpenID и хотел бы реализовать аутентификацию OpenID и, возможно, некоторые вещи Sreg в приложении Rails. Все исследования, которые я провел, пришли к статьям, которые устарели или просто не работают для меня. Поскольку я так новичок в Rails, мне трудно отлаживать проблемы таким образом...

Как лучше всего реализовать OpenId в Rails?

ruby-on-rails   ruby   authentication   openid    

440   5   00:31, 8th August, 2020


Готов ли Ruby на Rails для предприятия?

Есть ли кто-нибудь, кто использует RoR для крупномасштабных, критически важных для бизнеса корпоративных приложений?

Существуют ли другие облегченные веб-фреймворки, основанные на динамических языках, которые люди используют для этих типов приложений?

Если вы не используете эти типы фреймворков приложений, что вас останавливает? Это просто инерция, связанная с любой крупной организацией IT. Являются ли проблемы скорости и стабильности этих структур достаточной проблемой, чтобы они компенсировали улучшение времени цикла разработки?

ruby-on-rails   ruby   enterprise    

575   20   03:59, 1st August, 2020


Что IDE использовать для разработки в Ruby на Rails на Windows?

Возможный Дубликат:
Какие Ruby IDE вы предпочитаете?

Я вообще-то делал вещи на Microsoft .NET после окончания колледжа почти 2 года назад. Я просто начал смотреть на Ruby на Rails. Итак, какой редактор я должен использовать? Я использую Notepad++ прямо сейчас, но могу ли я получить отладку и т. д. каким-то образом?

ruby-on-rails   ruby   ide   editor    

405   10   09:28, 7th August, 2020


Как Вы Защищаете database.yml?

В пределах Ruby на Rails приложения database.yml представляет собой обычный текстовый файл, который хранит учетные данные базы данных.

Когда я развертываю свои приложения Rails, у меня есть обратный вызов после развертывания в моем Capistrano рецепт, который создает символическую ссылку в каталоге приложения /config на файл database.yml. Сам файл хранится в отдельном каталоге, который находится вне стандартной структуры каталогов Capistrano /releases. Я chmod 400 файл, так что он читается только пользователем, который его создал.

  • Достаточно ли этого, чтобы заблокировать его? А если нет, то чем еще вы занимаетесь?
  • Кто-нибудь шифрует свои файлы database.yml?

ruby-on-rails   security   deployment    

456   5   15:54, 5th August, 2020


Будучи как DRY, насколько это возможно в Ruby на Rails приложение

В настоящее время я использую удивительный плагин attachment-fu для приложения Rails, но как начинающий разработчик я никогда не сталкивался с сценарием, подобным тому, в котором я оказался.

По сути, я использую плагин attachment-fu на двух уровнях.

  1. Это для пользовательских аватаров в классе user.
  2. Это разрешить вложения файлов ( PDFs и т. д.) В системе обмена сообщениями.

Мой вопрос заключается в том , какой наилучшей практикой использования было бы в этих ситуациях оставаться DRY , ясным и последовательным.

Очевидно, что нет смысла определять и выполнять плагин в обоих классах, но есть что-то очень странное для меня (возможно, необоснованное) о том, чтобы просто идти вперед и настраивать все это в классе божественного приложения.

Есть ли что-то между ними, или родительский класс-это путь?

Спасибо!

ruby-on-rails   ruby   model-view-controller   attachment-fu    

380   6   16:01, 12th August, 2020


Какие-либо советы по получению Rails для запуска с доступом к бэк-энду?

Я содрогаюсь, чтобы спросить, но мой клиент не может предложить никакого другого решения SQL (или SQL-подобного). Я знаю, что доступ имеет некоторые крючки SQL; достаточно ли их для базового ActiveRecord?

Позже:

Я ценю все предложения использовать другие базы данных, но поверьте мне: я пытался убедить их. Существует список "approved", и в нем нет баз данных SQL. Включение чего-то в список может занять больше года, и этот проект будет завершен через три недели.

ruby-on-rails   ruby   ms-access   activerecord    

397   7   19:02, 20th August, 2020


Связывание ключевых слов источника и поиска с созданием учетной записи

В рамках процесса регистрации для моего онлайн-приложения я думаю о отслеживании источника и / или ключевых слов поиска, используемых для доступа к моему сайту. Это позволит мне увидеть, что реклама работает и откуда с несколько более тонким зерном, чем Google Analytics.

Я предполагаю, что могу установить какой-то файл cookie с этой информацией, когда люди попадают на мой сайт, но я не уверен, как я буду его получать. Это вообще возможно?

Я использую Rails, но независимое от языка решение (или даже просто указатели на то, где найти эту информацию) будет оценено!

ruby-on-rails   cookies   seo    

374   1   08:05, 1st August, 2020


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-on-rails   ruby   plugins    

495   1   11:50, 17th August, 2020


Лучшее решение для аутентификации в Ruby на Rails

Я ищу готовое решение, которое можно использовать в моем приложении RoR. В идеале я ищу что-то похожее на проверку подлинности ASP.NET форм, которая обеспечивает проверку email, элементы управления регистрацией и позволяет пользователям сбрасывать свои пароли. Ах да, и легко позволяет мне вытащить пользователя, который в данный момент вошел в приложение.

Я начал просматривать уже написанные фрагменты, но обнаружил, что это действительно сбивает с толку. Я посмотрел на LoginGenerator, RestfulAuthentication, SaltedLoginGenerator, но, похоже, нет ни одного места, где есть отличные учебники или их сравнение. Если есть сайт, который я просто еще не обнаружил, или если есть стандарт де-факто, которым пользуется большинство людей, я был бы признателен за помощь.

ruby-on-rails   ruby   authentication    

475   12   00:04, 6th August, 2020


WYSIWYG редактор gem для Rails?

Есть ли хороший ruby gem для редактора WYSIWYG, который легко будет работать с приложением rails?

ruby-on-rails   ruby   gem    

472   12   09:06, 21st August, 2020


Как представить информацию о кросс-модели в MVC?

У меня есть приложение, построенное с использованием MVC, которое создает представление, которое предоставляет сводную информацию по нескольким моделям. Кроме того, некоторые вычисления выполняются по различным наборам данных.

Нет четкой единой модели (которая, по крайней мере, сопоставляется с таблицей), которая, по-видимому, имеет смысл в качестве отправной точки для этого, поэтому различные сводки извлекаются из способствующих моделей в контроллере, передаются в представление и вычисления выполняются там.

Но это кажется, ну, грязным . Но контроллеры должны быть легкими, не так ли? И бизнес-логика не должна быть в представлениях,так как у меня она присутствует.

Так где же должна быть собрана эта информация? Новая модель, которая не сопоставляется с таблицей? Библиотека function/module? или что-то еще?

(Хотя я рассматриваю это как в основном архитектурный / шаблонный вопрос, я работаю в Rails, FWIW.)

Edit: хорошие ответы на все вопросы и много консенсуса, что обнадеживает. Я "accepted" ответ, который я сделал, чтобы сохранить ссылку на Railscasts в верхней части. Я отстаю в своем просмотре Railscast-что-то, что я буду делать напряженные попытки исправить!

ruby-on-rails   model-view-controller   design-patterns    

420   5   02:31, 17th August, 2020


Существует ли задача rake для резервного копирования данных в вашей базе данных?

Существует ли задача rake для резервного копирования данных в вашей базе данных?

У меня уже есть резервная копия моей схемы, но я хочу сделать резервную копию данных. Это небольшая база данных MySQL.

mysql   ruby-on-rails   ruby   database   rake    

414   7   04:54, 9th August, 2020


Как мне изящно закрыть веб-сервер Mongrel

Мое приложение RubyOnRails настроено с обычным пакетом дворняг за конфигурацией Apache. Мы заметили, что использование памяти нашего веб-сервера Mongrel может быть довольно большим при определенных операциях, и мы действительно хотели бы иметь возможность динамически выполнять изящный перезапуск выбранных процессов Mongrel в любое время.

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

В идеале, я хочу послать дворняге сигнал, который говорит: "закончите все, что вы делаете, а затем прекратите, прежде чем принимать какие-либо дополнительные соединения".

Существует ли стандартная техника или лучшая практика для этого?

ruby-on-rails   ruby   mongrel    

434   6   00:16, 9th August, 2020


Как изменить домашнюю страницу по умолчанию в приложении Grails?

Каков параметр конфигурации для изменения домашней страницы по умолчанию в приложении Grails, чтобы она больше не была appName/index.gsp? Конечно, вы можете настроить эту страницу как перенаправление, но должен быть и лучший способ.

grails    

451   7   02:16, 22nd August, 2020


Ruby / Rails доисторические даты на windows

Работая с датами в ruby и rails на windows, у меня возникают проблемы с датами до эпохи (до 1970 года), выбрасывающими исключения из диапазона. Я попытался использовать оба объекта Time и DateTime , но по-прежнему имею те же проблемы.

ruby-on-rails   ruby   date    

373   3   07:58, 21st August, 2020


Как я могу поддерживать проверку подлинности сертификата клиента SSL?

Я хочу сделать то же, что делает myopenid - после того, как вы вошли в систему, вы можете нажать кнопку, которая генерирует вам сертификат SSL; браузер затем загружает этот сертификат и сохраняет его. Когда вы позже вернетесь к yourid.myopenid.com, Ваш браузер может использовать свой сохраненный сертификат для аутентификации, поэтому вам никогда не понадобится пароль.

Итак, мои вопросы - что требуется для того, чтобы это сработало? Как создать сертификаты? Как я могу подтвердить их, когда они будут представлены мне обратно?

Мой стек составляет Rails на Apache, используя Passenger, но я не слишком разборчив.

ruby-on-rails   apache   ssl    

577   5   16:11, 4th August, 2020


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, как бы вы разбили активность по моделям, представлениям и контроллерам, и что бы вы поместили туда?

ruby-on-rails   xml   ruby   hpricot   open-uri    

426   2   20:43, 28th August, 2020


Есть ли способ объединить именованные области в новую именованную область?

У меня есть

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)

но это не особенно красиво.

ruby-on-rails   rails-activerecord   named-scope    

388   6   03:06, 29th August, 2020


Развертывание подкаталога Git в Capistrano

Мой главный макет ветви выглядит так:

/ <-- верхний уровень

/client <-- исходные файлы desktop client

/server <-- Rails приложение

Все , что я хотел бы сделать, это просто снять каталог /server в моем deploy.rb, но я не могу найти никакого способа сделать это. Каталог /client огромен, поэтому настройка крючка для копирования /server в / не будет работать очень хорошо, ему нужно только снять приложение Rails.

ruby-on-rails   git   deployment   capistrano    

469   10   07:58, 21st August, 2020


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-on-rails   deployment   rubygems    

393   2   12:49, 11th August, 2020


Кто уже пробовал, что посоветуете по изучению Groovy (литература, сайты)?

Да и общие впечатления от опытных товарищей тоже интересны. Интересует, так как единственным скриптовым языком в моем арсенале был PHP, по многим причинам хочу от него отказаться. Главный кандидат на его замену — Groovy.

Grails    

331   5   07:15, 14th August, 2020


Книгу по Rails 3 на русском или английском?

Хотелось бы заиметь что-то похожее на «Гибкую разработку веб-приложений в среде Rails» (с примером приложения, которое пишется по ходу повествования), но уже для третих рельс. И вообще хорошо будет если там же про RSpec будет.

Книги   Ruby   on   Rails    

359   6   10:13, 11th August, 2020


Чего посоветуете использовать для подмены веб запросов?

fakeweb или webmock?
Можно комментариями здесь, либо проголосовать.

Ruby   on   Rails    

291   1   20:32, 22nd August, 2020


Как сделать инвайты на Rails 3

Типичная проблема: нужно сделать систему создания, отправки и валидации инвайтов для пользователей на рельсах.
Используется Authlogic.
Погуглил — ничего сразу не нашлось, а писать велосипед самому всегда успеется.

Ruby   on   Rails    

257   2   11:05, 29th August, 2020


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?

Ruby   on   Rails    

254   5   05:10, 26th August, 2020


Не могу запустить 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, либо рефлекшн с полиморфизмом постарались :(.

Ruby   on   Rails    

250   1   16:01, 23rd August, 2020


Rails. ActiveRecord. Ассоциации?

Есть таблица Images. Как правильно сделать ассоциацию Images к самой себе, используя миграции? Как правильно назвать дополнительную связывающую таблицу? Что прописать в модели Image?

Ruby   on   Rails    

302   1   12:12, 27th August, 2020


Ruby on Rails 3 — Ajax preloader?

Добрый вечер! Подскажите rails way для создания ajax подгрузки контента страницы, например есть шаблон со списком продуктов, и пока он не подгрузился показываем индикатор загрузки. Спасибо за ответы!

AJAX   Ruby   on   Rails    

325   2   21:06, 1st October, 2020


Какие есть каталоги полезных gems/plugins для Rails 3

Хотелось бы, чтобы под рукой был список всех полезных гемов для рельсов, но сколько не смотрю, те сайты что видел они содержат или очень старые плагины или это www.railsplugins.org/, который только сообщает что работает под рельсы 3.

Есть ли такой сайт, где были б собраны все нужные гемы и при этом достаточно понятно каталогизированы, чтоб можно было легко найти гем, который подходит под выбранную задачу.

Спасибо.

Ruby   on   Rails   Ruby   gems    

251   1   09:27, 8th August, 2020


Настройка 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 и вмеру кривые руки.

Ruby   on   Rails    

271   1   07:06, 12th August, 2020