嗨,我对 Ruby On Rails 很陌生,遇到了这个问题。
我有 4 张桌子,其中 1 张桌子与其他三张桌子相连。
- Sportcategories - 每个类别的名称
- 运动 - 每项运动的名称
- 俱乐部 - 每个俱乐部的名称
- 结果,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 和 clubs 有很多结果,并且结果属于他们所有人。
这是我用于编辑和更新结果的控制器文件
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
问题二可能会在问题一中得到回答,但我希望能够从所有可用类别、运动和俱乐部的下拉列表中选择其实际名称,然后在更新时传递正确的 ID。