2012-08-18 2 views
0

사양 상태를 편집하기 위해 뷰에 다음 코드가 있습니다 (완료 또는 완료되지 않음).매개 변수의 중첩 해시에서 검색 옵션

%table 
    = form_for project_specification_path(@project,@specification), :method => :put do |f| 
    %tr 
     %td 
     = f.label :status, 'Status' 
     = f.select :status, ['Completed','Not completed'] 
    %tr 
     %td 
     = f.submit 'Save' 

'저장'을 클릭 한 후 사양 컨트롤러의 업데이트 방법에서 @specification 특성을 업데이트해야합니다.

PARAMS는 다음과 같습니다

=> {"utf8"=>"✓", 
"_method"=>"put", 
"authenticity_token"=>"Wp2OSBaOCP9aIx27B0ZTnvuFtN0m4O45efDwdA5KB5Q=", 
"/projects/1/specifications/1"=>{"status"=>"Completed"}, 
"Status"=>"Save status", 
"action"=>"update", 
"controller"=>"specifications", 
"project_id"=>"1", 
"id"=>"1"} 

내가 @ specification.update_attributes (????) 같은 것을 작성해야하지만 난 매개 변수를 검색하는 방법을 모르겠어요 상태를 중첩 된 해시에서.

감사

답변

1

#form_for의 첫 번째 매개 변수는 모델 인스턴스 또는 상징적 인 모델 이름이 아닌 경로 여야합니다. :url => ... 옵션을 사용하여 맞춤 경로를 제공해야합니다 ...

= form_for :specification, :url => project_specification_path(@project,@specification), :method => :put do |f| 
    ...