2012-08-03 5 views
0

사용자가 클릭 할 때 각 작업에 올바른 링크가 있는지 확인하려고합니다.ID가없는 <object>을 찾을 수 없습니다. Rails

문제는 내가 계속 Couldn't find job without an 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)을 사용하는 모든 도움을 사전에 2

감사이 작동하지만 모든 작업 ID로 작업하여 링크 입력으로 끝나는 경우 !

답변

1

무엇이 params[:id]입니까?

컨트롤러에 raise params[:id].inspect을 입력하면 nil입니다. 게다가, @link을 만드는 데있어 중요한 점은 무엇입니까? 그냥 대신 job.job_url 넣어보기 @link.job_url

+0

좋은 지적, 덕분에 마이크 내가 어제 그것을 테스트하고 작동하지 않았지만 지금 것 같다 :) –

관련 문제