Показаны сообщения с ярлыком rails. Показать все сообщения
Показаны сообщения с ярлыком rails. Показать все сообщения

понедельник, 29 декабря 2014 г.

Gem::RemoteFetcher::FetchError

При запуске Web-сервера возникла следующая ошибка:

Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://rubygems.org/gems/rake- 10.4.2.gem)

Для лечения необходимо в Gemfile заменить:

source 'https://rubygems.org'

на

source 'http://rubygems.org'

четверг, 11 декабря 2014 г.

Как в rails исключить первый элемент в итераторе each?

Конструкция довольно простая:

<% documents[1..-1].each do |document| %>

где documents — коллекция элементов. Действие происходит в шаблоне. Если в конструкции вместо [1..-1] указать [1..-2], то мы исключим и первый и последний элемент.

четверг, 9 октября 2014 г.

Подготовка машины к web-разработке на Ruby on Rails

  1. Добавление пользователя в группу sudo;
  2. Установка Node.js;
  3. Установка curl: # apt-get install curl
  4. Установка RVM;
  5. Установка Ruby;
  6. Проверяем корректность установки: $ ruby -v
  7. Установка интерпретатора Ruby по умолчанию;
  8. Установка Rails: $ gem install rails
  9. Проверяем корректность установки: $ rails -v
  10. Установка Java Development Kit: # apt-get install default-jdk
  11. Установка RubyMine
  12. Установка git: # apt-get install git
  13. Установка примочки для использования БД Sqlite: $ gem install sqlite3-ruby
  14. Изучаем один из лучших туториалов Ruby on Rails Tutorial и начинаем творить на рельсах!

воскресенье, 7 сентября 2014 г.

Could not find a JavaScript runtime

Если при запуске сервера появляется ошибка:

Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. ExecJS::RuntimeUnavailable)

Необходимо добавить в gem-файл следующие строчки:

gem 'execjs'
gem 'therubyracer'

После чего выполнить команду:

$ bundle install

среда, 3 сентября 2014 г.

Как проверить, какая версия Rails запускается по умолчанию?

$ rails --version

Команда возвращает номер версии.

Как получить список всех установленных версий Rails?

Для получения всех установленных версий Rails выполните команду:

$ gem list --local rails

Можно ли сделать аналогичное на Django? Вспоминается песочница virtualenv... Но в рельсах это как-то попроще реализовано.

суббота, 3 мая 2014 г.

Проверка на уникальность в полях на рельсах

validates :field_name1, uniqueness: true

Где field_name1 — название поля, значения которого необходимо проверять на уникальность.

Валидация чисел в полях на рельсах

validates :field_name1, numericality: {greater_than_or_equal_to: 0}

Проверка того, что поле field_name1 имеет допустимое положительное значение.

Проверка наличия данных в полях на рельсах

Метод validates() проверяет поля модели на соблюдение одного или нескольких условий. Пример:

validates :field_name1, :field_name2, :field_name3, presence: true

field_name1, field_name2, field_name3 — имена полей модели.

Инструкция presence: true предписывает валидатору проверять наличие данных в каждом из указанных полей.

среда, 16 апреля 2014 г.

Количество строк в TextArea в представлении на рельсах

<%= f.text_area :field_name, rows: rows_count %>

где field_name — название поля, rows_count — количество строк, которое должно отображаться в элементе управления TextArea.

вторник, 15 апреля 2014 г.

Настройка базы данных в рельсах

В файле config/database.yml задаются все необходимые параметры подключения к базе данных. Конечно после django некоторое потрясение от того, как все в рельсах удобнее и продуманнее сделано.

понедельник, 14 апреля 2014 г.

Вывод списка файлов в текущем каталоге на рельсах

В контроллере:

@files = Dir.glob('*')

в представлении:

<ul>
<% for file in @files %>
  <li><%= file %></li>
<% end %>
</ul>

Ссылки в рельсах

<%= link_to "link_title", controller_name_action_name_path %>

Для создания ссылки в рельсах есть замечательный метод link_to, в котором необходимо указать: link_title — заголовок ссылки, controller_name — имя контроллера, action_name — название действия.

Магия конечно после django ощущается сильно...

Создание контроллера на рельсах

$ rails generate controller controller_name action_name

где controller_name — название контроллера, action_name — список действий через пробел.

Вывод текущего времени в шаблоне на рельсах

<%= Time.now %>

воскресенье, 13 апреля 2014 г.

Запуск web-сервера для приложения на рельсах

$ rails server

Если сервер успешно запустился, можно перейти по ссылке http://0.0.0.0:3000 для просмотра приложения.

Создание нового приложения на рельсах

$ rails new app_name

где app_name — название приложения. Команда создает просто огромное количество файлов и папок (если быть точным — 74 итема).