0

我有两个模型类:目标和目标。一个目标有许多目标,一个目标属于一个目标。

我创建了一个页面,用于通过表单创建新目标。在页面的控制器中,我正在设置一个变量的值,@default_goal如下所示:

@objective = Objective.new

if params.has_key?(:default_goal)
    @default_goal = Goal.find(params[:default_goal])
end

然后,在我的表单中,我想将该变量设置为关联下拉列表中的默认目标。我尝试了以下方法,但似乎不起作用:

<%= simple_form_for @objective do |f| %>
    <%= f.association :goal, :prompt => "Select a goal", :default => @default_goal %>
<% end %>

怎么做到呢?

4

1 回答 1

0

啊,答案很明显。与其在视图表单中设置默认值,不如在控制器中的记录本身上完成。例子:

@objective = Objective.new

if params.has_key?(:default_goal)
    @objective.goal = Goal.find(params[:default_goal])
end

这将自动选择它作为视图表单关联列表中的默认选项。

于 2012-08-10T01:59:15.650 回答