2012-06-20 4 views
0

Я работаю над этим несколько часов и застрял, поэтому как получить выбор меню с помощью базы данных, db, используя модель ZigZagRotation?Как отобразить раскрывающееся меню/меню выбора

<%= form_for([@user, @user.calories_journals.build]) do |f| %> 
    <%= render 'shared/error_messages', object: f.object %> 
    <%= f.label :cj_date, "Date Begins:" %> 
    <%= f.text_field :cj_date %> 
    <%= f.label :no_of_cycles, "Number of Cycles:" %> 
    <%= f.text_field :no_of_cycles %>  
    <%= f.label :zig_zag_type, "Zig Zag Rotation Type:" %> 
    <%= f.select :zig_zag_type, ZigZagRotation.all.collect {|z| [z.title, z.id ] } %> 
    <%= f.submit "Generate Calories Journals", class: "btn btn-large btn-primary" %> 
<% end %> 

В приведенной ниже строке показаны пустые детали в окне выбора меню вместо заполненного списка.

<%= f.select :zig_zag_type, ZigZagRotation.all.collect {|z| [z.title, z.id ] } %> 

:zig_zag_type является attr_accessible под ZigZagRotation модели и как только он выбран, я хочу значение, сохраняемых в :id.

ответ

1

Я предполагаю, что вы работаете с двумя разными и родственными моделями (например, ZigZagRotation и AnotherModel).

Если вы хотите отобразить атрибут zig_zag_type и сохранить его id во внешнем ключе AnotherModel (zig_zag_id, например), создавая отношения между ними, вы можете сделать что-то вроде ниже:

<%= f.collection_select(:zig_zag_id, ZigZagRotation.all, :id, :zig_zag_type , {:include_blank => 'Select Type'}) %> 

Вы можете найти дополнительную информацию here.
Надеюсь, это поможет ...

+0

Да, это очень полезно. Яснее, чем использование документации, которую вы мне дали. Иногда документация может быть трудно понять. Спасибо. – smileyUser

+0

Я рад, что смог помочь :) .. и я согласен с документацией, иногда очень сложно понять ... – gabrielhilal