我正在尝试为根据为模型选择的记录(称为“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。我认为这可能就在于我如何使用选择帮助程序(我已经尝试过使用它们,但我不太确定在阅读Rails指南和Rails API docs之后使用哪一个)。
答案 0 :(得分:0)
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
end