Привет
Я довольно новичок в Ruby On Rails и столкнулся с этой проблемой.
У меня есть 4 таблицы и 1, к которой подключены три других.
- Спортивные категории - название каждой категории
- Спорт - название каждого вида спорта
- Клубы - название каждого клуба
- Результаты,
t.integer "sportcategory_id"
t.integer "sport_id"
t.integer "club_id"
Мне удалось создать простую форму редактирования с text_field для каждого поля в результатах. Но как я могу получить имена для целых чисел вместо чисел?
<%= form_for(@result) do |f| %>
#if...
#..
#end
<div class="field">
<%= f.label :sportcategory_id%><br />
<%= f.text_field :sportcategory_id%>
</div>
<div class="field">
<%= f.label :sport_id %><br />
<%= f.text_field :sport_id %>
</div>
<div class="field">
<%= f.label :club_id %><br />
<%= f.text_field :club_id %>
</div>
<div class="field">
<%= f.label :result %><br />
<%= f.text_field :result %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
Я сделал так, чтобы у SportCat, Sports и клубов было много результатов, и эти результаты принадлежат всем им.
Это мой файл контроллера для результатов с редактированием и обновлением
def edit
@result = Price.find(params[:id])
end
def update
@price = Price.find(params[:id])
respond_to do |format|
if @price.update_attributes(params[:price])
format.html { redirect_to(@price, :notice => 'Price was successfully updated.') }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @price.errors, :status => :unprocessable_entity }
end
end
end
И на вопрос два можно ответить в вопросе один, но я хочу иметь возможность выбрать из выпадающего списка все доступные категории, виды спорта и клубы с их действительным названием, а затем передать правильный идентификатор при обновлении. .