<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 и прочие интересные параметрах которые
нигде не описаны?"
При использовании edge версии достаточно сделать rake doc:rails и заглянуть в
doc/api
--
With Best Regards, Anton Dyachuk <anton....@gmail.com>
Подскажите где можно об этом почитать?
Rails у меня 1.2.2
> With Best Regards, Anton Dyachuk <anton.dyac...@gmail.com>
P.S. А все-таки где лучше смотреть на что способны рельсы?
:include_blank - set to true if the first option....
:prompt - set to true or a prompt string...
Павел
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>
> With Best Regards, Anton Dyachuk <anton.dyac...@gmail.com>
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не панацея, но вещь как по мне просто
> незаменимая.
Putting Controllers in Namespaces - спорный момент.
Тем более, в edge есть namespaces в роутах, которые подразумевают
наличие namespaces в контроллерах.
/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)).
Подстава, а почему так некошерно?
Ну потому что это сделано через технику, которая применяется для
получения new_blog_post из blog и post... Тут это оправдано. А
нэймспэйсы, имхо, должны быть отдельно.
> /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
> > Плюс с ними не работают полиморфные пути (ну, знаете, когда можно вместо
> > link_to(product.title, product_path(product)) писать просто
> > link_to(product.title, product)).
>
> Работает.
> link_to product.title, [:admin, product_path(product)]
По мне - это не очень похоже не полиморфные пути.