2012-08-03 37 views
0

我試圖確保每個作業都有正確的鏈接,當用戶點擊它時。我的問題是我不斷收到錯誤Couldn't find job without an ID找不到<object>沒有ID導軌

在我看來,我有以下代碼:

<% @jobs.group_by{|x| x.created_at.strftime("%d %b. %Y")}.each do |date,jobs_on_that_date| %> 
    <section class="date"><%= date %></section> 
    <section id="top-job"> 
     <% jobs_on_that_date.each do |job| %> 
    <section id="job-wrapper"> 
    <%= link_to url_with_protocol(@link.job_url), :target => '_blank' do %> 
    <section id="job"> 
     <%= job.title %> - <%= job.company %> 
     <%= job.salary %> 
     <%= job.location %> 
     <%= job.job_type %> 
    </section> 
    </section>  
    <% end %> 
    <% end %> 
    </section> 
    <% end %> 

在我的控制,我創建一個名爲@link對象如下:

def index 
    @user = current_user 
    @jobs = Job.where('created_at > ?', 30.days.ago).reverse 
    @link = Job.find(params[:id]) 
end 

最後我有以下的路線設置。

JobappV2::Application.routes.draw do 

    devise_for :users 

    resources :jobs 

    resources :users do 
     resources :jobs 
    end 

    root :to => 'jobs#index' 


    end 

如果我使用@link = Job.find(2)這個工作,但每份工作由作業ID爲結束與鏈路輸入2

在此先感謝您的幫助!

回答

1

什麼是params[:id]

我懷疑如果你在你的控制器中做raise params[:id].inspect,你會發現它是nil。此外,創建@link有什麼意義?只是把job.job_url在你的看法,而不是@link.job_url

+0

一個很好的觀點,謝謝麥克我相信我昨天測試,它沒有工作,但似乎現在:) – 2012-08-03 11:00:16