2016-09-12 12 views
1

からパラメータを取得するにはどうすればレールにかなり新しいですし、私はこのURLからのidのparamを取得して苦労しています:Railsの4エラー:URL

http://localhost:3000/subscriberjobs/new?job_id=13 

現在、私はそれを得るためのコード行を使用しています:

@job = Job.find(params[:id]) 

この行は、それに指示します。

redirect_to "/subscriberjobs/new?job_id=#{@job.id}" 

私がやろうとしています何を達成するためにどのように任意のヘルプははるかにappreciですated!

答えて

1

はこれを試して、 このライン

@job = Job.find_by(id: params[:job_id]) 

で、このライン

@job = Job.find(params[:id]) 

を交換し、あなたのインスタンス変数@jobがJOB_IDを持つレコードが取り込まれます。

+0

本当にうまくいくはずです。しかし、私がこれをやっているとき、私はこのエラーを受け取ります: 'ActiveRecord :: RecordNotFound in SubscriberjobsController#update 'id' = 'でジョブを見つけることができなかったので、その場合はIDを逃してしまいます。' 13' – jonhue

+0

これはそうですdb/tableにはレコードが存在しません。あなたは何を得ていますか?パラメーター – Navin

+0

を押すと、更新された答えを確認してください。 – Navin

0

あなたはより多くの詳細については、別のポストhereを確認することが

url = 'http://www.foo.com?id=4&empid=6' 
uri = URI.parse(url) 
params = CGI.parse(uri.query) 
# params is now {"id"=>["4"], "empid"=>["6"]} 

id  = params['id'].first 

を試してみました。

+0

Hmmm ...このエラーを吐き出す: 'NoMethodError in SubscriberjobsController#update 定義されていないメソッド' split 'はnil:NilClass' – jonhue

+0

さらにid id => "1"}を返します。 – jonhue

+0

レコードがデータベースに存在するかどうかを確認する必要があります。 – MKB