2011-08-01 27 views
1

我的第一個問題在這裏。林相當卡住了,即時嘗試有一個鏈接創造一個空缺。但有些原因,我可以得到的是零爲Vacancy.project ...我已經嘗試過params [:project_id] .to_i在創建方法,並得到我0,但該案件的項目ID是156,並在查看params.inspect只是給出了這一點。嵌套的路線,創建屬於項目的空缺

我也試過在我的新控制器,並加載不同的嘗試來讀取會話信息。位置代碼只是空位建立的位置,但這不應該影響太大,是嗎?

任何想法?

空缺控制器

def new 

@vacancy = Vacancy.new 

@vacancy.position = Position.new 

@vacancy.project_id = params[:project_id] 


respond_to do |format| 
    format.html # new.html.erb 
    format.xml { render :xml => @vacancy } 

end 
end 

的路由使用

resources :projects do 

     resources :vacancies 

    end 

鏈接IM即時通訊使用:

 <%= link_to "Add Vacancy", new_project_vacancy_path(@project) %> 

車型 項目... 的has_many:空缺

& 空缺..... belongs_to的:項目

回答

0

要超乾的實現,你可以做這樣的:

class VacanciesController < ApplicationController 

     before_filter :load_project, :load_vacancy 

     def new 
     end 

     def edit 
     end 

     def create 
     if @vacancy.update_attributes(params[:vacancy]) 
      flash[:notice] = 'Vacancy successfully created/updated' 
      redirect_to project_vacancies_path(@project) 
     else 
      render :new 
     end 
     end 

     alias :update :create 

     protected 

     def load_vacancy 
     @vacancy = if params[:id].blank? 
      @project.vacancies.build 
     else 
      @project.vacancies.find(params[:id]) 
     end 
     end 

     def load_project 
     @project = Project.find(params[:project_id]) 
     end 

    end