2017-11-16 28 views
1

このコードワークウェルルビの投稿要求のパラメータとしてシンボルを渡すには?

Geokit::default_units = :miles #:kms, :nms, :meters 

しかし、このコードは、これが間違っているのエラーが

puts params[:unit]  # miles 
Geokit::default_units = params[:unit] #:miles, :kms, :nms, :meters 

どう作りますか?

+0

どのようなエラーがで開始するそこでシンボルを持っていませんでしたか?あなたはRailsを使っていますか? –

+0

私はPadrino ruby​​フレームワークを使用しています。 –

+0

あなたのタイトルは「投稿要求のパラメータ」を記述していますが、あなたの表示コードは投稿要求や 'params'を取得した場所について何も言及していないため、診断が困難です。 –

答えて

3

のparamsを通過することすべてが文字列であるので、あなたがシンボルにしたい場合は、その後、.to_sym使用を検討します:

params = { unit: 'miles' } 
p params[:unit].class # String 
p params[:unit].to_sym.class # Symbol 
3

あなたはparams[:unit]が実際のシンボルではなく、文字列であることを確認していますか?

Geokit::default_units = params[:unit].to_sym 

上記の問題を解決した場合は(paramsをHTTPリクエストから読み出された場合、可能性が高い)、その後、あなたは

関連する問題