我正在尝试为一个表单创建一个选择字段,该字段根据为模型(称为"Cancellation_Reasons")选择的记录进行选择。
在我的模型中称为取消:
<%= form_for(@cancellation do |f| %>
<%= options_from_collection_for_select(@cancellation_reasons, :id, :name) %>
<% end %>在Cancellation_Controller中:
def new
@cancellation = Cancellation.new
@cancellation_reasons = CancellationReason.find(1)
respond_to do |format|
format.html # new.html.erb
format.json { render json: @trade }
end
end当我在Rails控制台中运行CancellationReason.find(1)时,它会找到记录,因此@cancellation_reasons不是nil。我认为这可能与我使用select助手的方式有关(我尝试过使用它们,但即使在阅读了Rails指南和Rails API docs之后,我也不太确定要使用哪一个)。
发布于 2012-09-02 10:33:59
options_from_collection_for_select需要一个集合(即使它是一个1的集合)。因此,将代码更改为:
def new
@cancellation = Cancellation.new
@cancellation_reasons = CancellationReason.all
respond_to do |format|
format.html # new.html.erb
format.json { render json: @trade }
end
endhttps://stackoverflow.com/questions/12232600
复制相似问题