Шаманские параметры Ruby on Rails ;) Где можно о них почитать?

12 views
Skip to first unread message

Pizgin

unread,
Oct 4, 2007, 3:20:42 PM10/4/07
to RubyOnRails to russian
Никак не могу понять где смотреть доки по возможностям Rails...
Нужно например сделать select с профессиями. Вроде бы нужно так:

<select name="user[profession_id]">
<option selected value="0">-- Выберите профессию</option>
<% @professions.each do |prof| %>
<option value="<%= prof.id %>"
<%= ' selected' if prof.id == @user.profession_id %>>
<%= prof.title %>
</option>
<% end %>
</select></p>

Сделал. Все нормально, работает. Потом где-то в сети увидел что есть
collection_select ;) Понять как он работает по документации имхо
ВООБЩЕ НЕ ВОЗМОЖНО :)
Крутил, вертел... Потом кое-как получилось (опять же по примерам из
сети)

<%= collection_select(:user, :profession_id,
@professions, :id, :title) %>

Красиво, но нужно чтобы первая строка была не из списка (ну типа "--
выберите то-то"). Искал, единственное что нашел это (опять не из
справки, все по примерам):

<%= collection_select(:user, :profession_id, @professions, :id, :title,
{ :include_blank => true }) %>

Да, получше стало. Но нужна не пустая строка, а с текстом, что мол
выбрать нужно

Погуглил, нашел еще один пример:

<%= collection_select(:user, :profession_id, @professions, :id, :title,
{ :prompt => '-- Выберите профессию' }) %>

На этот раз все. Меня все устраивает.

Вопрос: "Где можно узнать какие существовуют эти
вот :include_blank, :prompt и прочие интересные параметрах которые
нигде не описаны?"

Anton Dyachuk

unread,
Oct 4, 2007, 3:40:22 PM10/4/07
to ror...@googlegroups.com
On Thursday 04 October 2007 23:20:42 Pizgin wrote:
Pi> Никак не могу понять где смотреть доки по возможностям Rails...
Pi> Нужно например сделать select с профессиями. Вроде бы нужно так:

При использовании edge версии достаточно сделать rake doc:rails и заглянуть в
doc/api

--
With Best Regards, Anton Dyachuk <anton....@gmail.com>

Pizgin

unread,
Oct 4, 2007, 3:37:21 PM10/4/07
to RubyOnRails to russian
Да. Но где там в API например :include_blank? Только что открыл его в
Firefox'e, ^f - нет такого слова 8(

Подскажите где можно об этом почитать?

Rails у меня 1.2.2

> With Best Regards, Anton Dyachuk <anton.dyac...@gmail.com>

zven

unread,
Oct 4, 2007, 3:39:13 PM10/4/07
to RubyOnRails to russian
Рельсы не могут похвастаться исчерпывающей документацией, для этого
надо сорсы палить и если ты не дармоед - писать патчи с
документацией :)

Pizgin

unread,
Oct 4, 2007, 4:11:31 PM10/4/07
to RubyOnRails to russian
Я так понимаю сейчас Rails как бы тягается с такими монстрами как
Struts или там SpringMVC. В них документация на высшем уровне сделана.
Как такое может происходить в Rails? Людям же работать нужно а не
искать undocumented функции 8). Непорядок :(

P.S. А все-таки где лучше смотреть на что способны рельсы?

Sergey Kojin

unread,
Oct 4, 2007, 4:16:57 PM10/4/07
to RubyOnRails to russian
легко сделать документацию на высшем уровне, когда фич мало

Julian 'Julik' Tarkhanov

unread,
Oct 4, 2007, 4:25:41 PM10/4/07
to ror...@googlegroups.com

On 4-okt-2007, at 22:11, Pizgin wrote:

> Людям же работать нужно а не
> искать undocumented функции 8). Непорядок :(

Да? Так может люди хоть раз запустят
себе gem_server и не устраивают бучу в
стакане воды потому что их якобы
обидели??

--
Julian 'Julik' Tarkhanov
please send all personal mail to
me at julik.nl


Pavel Lysov

unread,
Oct 4, 2007, 4:40:03 PM10/4/07
to ror...@googlegroups.com
http://api.rubyonrails.com/classes/ActionView/Helpers/FormOptionsHelper.html

:include_blank - set to true if the first option....
:prompt - set to true or a prompt string...

Павел

Anton Dyachuk

unread,
Oct 4, 2007, 5:03:04 PM10/4/07
to ror...@googlegroups.com
On Thursday 04 October 2007 23:37:21 Pizgin wrote:
Pi> Да. Но где там в API например :include_blank? Только что открыл его в
Pi> Firefox'e, ^f - нет такого слова 8(
Pi>
Pi> Подскажите где можно об этом почитать?
Pi>
Pi> Rails у меня 1.2.2
Pi>

doc/api/classes/ActionView/Helpers/FormOptionsHelper.html
Самое начало файла:

Provides a number of methods for turning different kinds of containers into a
set of option tags.
Options
The collection_select, country_select, select, and time_zone_select methods
take an options parameter, a hash.
:include_blank - set to true or a prompt string if the first option element
of the select element is a blank. Useful if there is not a default value
required for the select element.

--
With Best Regards, Anton Dyachuk <anton....@gmail.com>

Oleg Andreev

unread,
Oct 4, 2007, 5:40:58 PM10/4/07
to ror...@googlegroups.com
Не вижу проблемы держать открытым дерево рельсовых либ и искать по
ключсловам то, чего нет в документации. Оупенсорс — это не "халява",
а работа с сорцами. (По моему скромному опыту, неоупенсорсные либы —
это "работа с саппортом")

05.10.2007, в 0:11, Pizgin писал(а):

Pizgin

unread,
Oct 4, 2007, 11:45:48 PM10/4/07
to RubyOnRails to russian
Спасибо. Похоже искал по первой странице ;)

> With Best Regards, Anton Dyachuk <anton.dyac...@gmail.com>

Serge

unread,
Oct 5, 2007, 5:14:01 AM10/5/07
to ror...@googlegroups.com
Pizgin пишет:

> Да. Но где там в API например :include_blank? Только что открыл его в
> Firefox'e, ^f - нет такого слова 8(
>
> Подскажите где можно об этом почитать?
>
> Rails у меня 1.2.2
>
Держи http://www.gotapi.com не панацея, но вещь как по мне просто
незаменимая.

Pizgin

unread,
Oct 5, 2007, 5:52:01 AM10/5/07
to RubyOnRails to russian
Класс! Спасибо большое!

On 5 окт, 13:14, Serge <webcoder...@gmail.com> wrote:
> Pizgin пишет:> Да. Но где там в API например :include_blank? Только что открыл его в
> > Firefox'e, ^f - нет такого слова 8(
>
> > Подскажите где можно об этом почитать?
>
> > Rails у меня 1.2.2
>

> Держиhttp://www.gotapi.comне панацея, но вещь как по мне просто
> незаменимая.

Dmitry Polushkin

unread,
Oct 5, 2007, 7:15:14 AM10/5/07
to RubyOnRails to russian
http://www.noobkit.com/rails - API on Ajax
http://manuals.rubyonrails.com/ - просто море информации
http://wiki.rubyonrails.com/ - Rails WiKi
http://rails.raaum.org/ - конвенции Rails
http://manuals.rubyonrails.com/read/book/5 - Тестирование на Рельсах
http://glu.ttono.us/articles/2006/08/30/guide-things-you-shouldnt-be-doing-in-rails
- Руководство: вещи которые не стоит делать в Рельсах - наиболее
частые ошибки, которые делают новички.

Timur Vafin

unread,
Oct 5, 2007, 8:17:23 AM10/5/07
to ror...@googlegroups.com
Dmitry Polushkin пишет:

> - Руководство: вещи которые не стоит делать в Рельсах - наиболее
> частые ошибки, которые делают новички.

Putting Controllers in Namespaces - спорный момент.
Тем более, в edge есть namespaces в роутах, которые подразумевают
наличие namespaces в контроллерах.


Maxim Kulkin

unread,
Oct 5, 2007, 9:16:12 AM10/5/07
to ror...@googlegroups.com

/me уже пользует их, хотя там есть очень некрасивые моменты.
Префиксы работают не так как хотелось бы:

namespace :admin do |admin|
admin.resources :products
end

в итоге получим не
admin_new_product_path
а
new_admin_product_path

Плюс с ними не работают полиморфные пути (ну, знаете, когда можно вместо
link_to(product.title, product_path(product)) писать просто
link_to(product.title, product)).

Timur Vafin

unread,
Oct 5, 2007, 10:09:04 AM10/5/07
to RubyOnRails to russian
> в итоге получим не
> admin_new_product_path
> а
> new_admin_product_path

Подстава, а почему так некошерно?

Заятсъ

unread,
Oct 5, 2007, 2:54:12 PM10/5/07
to RubyOnRails to russian
По моему скромному безграмотному мнению, второй вариант с точки зрения
человеческого английского более приятен.

Maxim Kulkin

unread,
Oct 5, 2007, 3:14:28 PM10/5/07
to ror...@googlegroups.com

Ну потому что это сделано через технику, которая применяется для
получения new_blog_post из blog и post... Тут это оправдано. А
нэймспэйсы, имхо, должны быть отдельно.

Eugene Korbut

unread,
Oct 6, 2007, 8:07:31 AM10/6/07
to ror...@googlegroups.com
On Saturday 06 October 2007 00:16:12 Maxim Kulkin wrote:

> /me уже пользует их, хотя там есть очень некрасивые моменты.
> Префиксы работают не так как хотелось бы:
>
> namespace :admin do |admin|
> admin.resources :products
> end
>
> в итоге получим не
> admin_new_product_path
> а
> new_admin_product_path

Ну тут спорный момент. Мне, например, new_admin_product_path больше нравится


>
> Плюс с ними не работают полиморфные пути (ну, знаете, когда можно вместо
> link_to(product.title, product_path(product)) писать просто
> link_to(product.title, product)).

Работает.
link_to product.title, [:admin, product_path(product)]

btw, заметил один приятный момент. Если есть переменная @product, то за место
product_path(@product) можно писать просто product_path.
--
Eugene

Maxim Kulkin

unread,
Oct 7, 2007, 4:03:20 AM10/7/07
to ror...@googlegroups.com
On 10/6/07, Eugene Korbut <vlm...@gmail.com> wrote:
> On Saturday 06 October 2007 00:16:12 Maxim Kulkin wrote:
> Ну тут спорный момент. Мне, например, new_admin_product_path больше
> нравится
Получается, что помимо 'продуктов' у нас появляются отдельные сущности
- 'админские продукты'. Это не так.

> > Плюс с ними не работают полиморфные пути (ну, знаете, когда можно вместо
> > link_to(product.title, product_path(product)) писать просто
> > link_to(product.title, product)).
>
> Работает.
> link_to product.title, [:admin, product_path(product)]

По мне - это не очень похоже не полиморфные пути.

Reply all
Reply to author
Forward
0 new messages