2012-08-10 9 views
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 %> 

어떻게 할 수 있습니까?

답변

0

아, 그 대답은 정말 분명했습니다. 보기 폼에서 기본값을 설정하는 대신 컨트롤러의 레코드 자체에서 수행해야합니다. 예 :

@objective = Objective.new 

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

그러면보기 양식 연관 목록의 기본 옵션으로 자동으로 선택됩니다.

관련 문제