Просто надо пользоваться compass-style.org/docs/ и проблем не будет.
В Compass нет перечисленных здесь проблем + он настолько удобен и гибок, что попробовав 1 раз уже никогда не откажешься от него.
Для настройки вывода полей объектов моделей можно в файле RAILS_ROOT/config/hirb.yml указать небходимые для вывода поля. Пример конфига:
:output:
DigitalResource:
:options:
:fields:
— id
— name
— description
— type_of
— user_id
— publication_id
Author:
:options:
:fields:
— id
— name
— link
— info
Publication:
:options:
:fields:
— id
— name
— description
— author_id
*отступы необходимо поставить правильно.
Будем получать только указанные в конфиге поля в нужном порядке.
>> Author.all
+----+---------------------------------------------------------------------------------------------------+------+------+
| id | name | link | info |
+----+---------------------------------------------------------------------------------------------------+------+------+
| 2 | ЗАО «Просвещение-МЕДИА», ЗАО «Новый диск» | | |
| 7 | Иванов Иван Иванович | | |
| 6 | КГУ, А.И. Фишман, А.И. Скворцов, Р.В. Даминов | | |
| 4 | ООО «Дрофа», ЗАО «1С» | | |
| 5 | ООО «Кирилл и Мефодий» | | |
| 1 | ООО «Физикон» | | |
+----+---------------------------------------------------------------------------------------------------+------+------+
6 rows in set
Будьте внимательней, название статьи «Сжатие javascript средствами packr». Ваши претензии никак не относятся к теме.
> Если текущая страница требует своих «особых» скриптов …
можно подгружать их отдельно и сделать несколько ключей
base:
— swfobject.js
— jquery-1.3.2.js
— jquery.media.js
— application.js
markitup:
— jquery.markitup.js
— jquery.markitup.set.js
и т.д.
по поводу
>… 304… ExpiresDefault… gzip
— это настройка веб-сервера (чаще всего это Apache или Nginx либо даже их связка), которая не входит в задачи данной статьи.
Как все это сделать очень легко найти в гугле, тем более способов для этого много. Копипастить смысла не вижу.
> загрузка с разных доменных имен
опять же легко настраивается, но никак не относится к теме.
файл production.rb:
# Enable serving of images, stylesheets, and javascripts from an asset server
# config.action_controller.asset_host = «assets.example.com»
Если надо больше хостов:
Alternatively, you can exert more control over the asset host by setting asset_host to a proc like this:
ActionController::Base.asset_host = Proc.new { |source| «assets#{rand(2) + 1}.example.com» }
Такое чувство, что благодаря Вам мы теперь можем пользоваться супер-пупер скриптом для деплоя с огромным магическим потенциалом. Ну прямо всё сам делает и все задачи решает. Искренне рад за Вас!
Так если уже все готово, прекрасно работает и удобно, какой смысл делать свои костыли?
Вам надо было хоть как-то изучить эту тему и ознакомиться как это делается у людей.
Если бы скрипт соответствал тому что написано в первом абзаце, то ладно. А так оно порождает еще больше трудностей и возможных багов. Соответстует только тому, что он неуниверсальный, и для чуть дургой задачи продолжая идти этим же путем нужно будет затратить еще столько же времени.
Вобщем каждому свое.
Ага! Вы правы!
Вместе с проводником, конечно )))
Хотя если бы существовал такой гарантирователь существования вселенной было бы интересно понаблюдать за людьми. Но думаю люди недолго бы просуществовали после его обнаружения.
Магниты, обеспечивающие ускорение частиц, должны обладать сверхпроводимостью — то есть сопротивление должно стремится к нулю, что обеспечивает минимальную потерю энергии.
Все таки при сверхпроводимости сопротивление равно нулю, а не стремится к нему. Если «запустить» электрический ток в кольцевом сверхпроводнике, то он не остановится никогда.
Тут все говорят о mysql, складывается такое впечатление, что mysql это единственный сервер для баз данных.
Самому писать sql-запросы нельзя, проблемы возникнут при переходе на другой бд-сервер (mysql > postgresql …).
Ваше приложение становится зависимым от конкретного типа бд, и лучше этого избегать.
Хотя сафари и вправду выдает отсебятину в ширине строк (в вашем и моем вариантах), во всех вариантах есть пустые места, которых в других браузерах не видно.
В Compass нет перечисленных здесь проблем + он настолько удобен и гибок, что попробовав 1 раз уже никогда не откажешься от него.
Контроллер останется прежним, а во вью можно использовать api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#M001605, — есть примеры для данных случаев Nested Attributes Examples.
Подробности и примеры здесь: api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html.
:output:
DigitalResource:
:options:
:fields:
— id
— name
— description
— type_of
— user_id
— publication_id
Author:
:options:
:fields:
— id
— name
— link
— info
Publication:
:options:
:fields:
— id
— name
— description
— author_id
*отступы необходимо поставить правильно.
Будем получать только указанные в конфиге поля в нужном порядке.
>> Author.all
+----+---------------------------------------------------------------------------------------------------+------+------+
| id | name | link | info |
+----+---------------------------------------------------------------------------------------------------+------+------+
| 2 | ЗАО «Просвещение-МЕДИА», ЗАО «Новый диск» | | |
| 7 | Иванов Иван Иванович | | |
| 6 | КГУ, А.И. Фишман, А.И. Скворцов, Р.В. Даминов | | |
| 4 | ООО «Дрофа», ЗАО «1С» | | |
| 5 | ООО «Кирилл и Мефодий» | | |
| 1 | ООО «Физикон» | | |
+----+---------------------------------------------------------------------------------------------------+------+------+
6 rows in set
~/Temp/todo $ ruby ./rtodo.rb
System files was created
> Welcome to R-todo v0.1, type 'help' to get info
help
^C./rtodo.rb:9:in `gets': Interrupt
from ./rtodo.rb:9
> Если текущая страница требует своих «особых» скриптов …
можно подгружать их отдельно и сделать несколько ключей
base:
— swfobject.js
— jquery-1.3.2.js
— jquery.media.js
— application.js
markitup:
— jquery.markitup.js
— jquery.markitup.set.js
и т.д.
по поводу
>… 304… ExpiresDefault… gzip
— это настройка веб-сервера (чаще всего это Apache или Nginx либо даже их связка), которая не входит в задачи данной статьи.
Как все это сделать очень легко найти в гугле, тем более способов для этого много. Копипастить смысла не вижу.
> загрузка с разных доменных имен
опять же легко настраивается, но никак не относится к теме.
файл production.rb:
# Enable serving of images, stylesheets, and javascripts from an asset server
# config.action_controller.asset_host = «assets.example.com»
Если надо больше хостов:
Alternatively, you can exert more control over the asset host by setting asset_host to a proc like this:
ActionController::Base.asset_host = Proc.new { |source| «assets#{rand(2) + 1}.example.com» }
image_tag(«rails.png»)
# => < имг alt=«Rails» src=«assets0.example.com/images/rails.png?1230601161» />
stylesheet_link_tag(«application»)
# => < линк href=«assets1.example.com/stylesheets/application.css?1232285206» media=«screen» rel=«stylesheet» type=«text/css» />
Вам надо было хоть как-то изучить эту тему и ознакомиться как это делается у людей.
Если бы скрипт соответствал тому что написано в первом абзаце, то ладно. А так оно порождает еще больше трудностей и возможных багов. Соответстует только тому, что он неуниверсальный, и для чуть дургой задачи продолжая идти этим же путем нужно будет затратить еще столько же времени.
Вобщем каждому свое.
Скрипты писать намного проще, и к тому же есть куча готовых рецептов на каждый случай. capitate.rubyforge.org/recipes/index.html
Вместе с проводником, конечно )))
Хотя если бы существовал такой гарантирователь существования вселенной было бы интересно понаблюдать за людьми. Но думаю люди недолго бы просуществовали после его обнаружения.
Почитайте литературу по теме, на худой конец хоть википедию ru.wikipedia.org/wiki/Сверхпроводимость
Все таки при сверхпроводимости сопротивление равно нулю, а не стремится к нему. Если «запустить» электрический ток в кольцевом сверхпроводнике, то он не остановится никогда.
Появилось желание бросить все и остаться слушать )))
Самому писать sql-запросы нельзя, проблемы возникнут при переходе на другой бд-сервер (mysql > postgresql …).
Ваше приложение становится зависимым от конкретного типа бд, и лучше этого избегать.
И там и там одинакого, я думаю вы уже сами разобрались.