を含みRails API)。この文字列をハッシュに変換することは可能ですか? eval()は機能しません。変換文字列は、私のようなクエリを作ってるんだ
(YAMLのための)編集:代わりにユーザー入力Rubyコードをさせるの
def show
str = "address, { friends: [ address, followers ] }"
args = YAML.load("[ #{str} ]")
user = User.includes(*args).find(params[:id])
render :template => 'users/show'
end
'eval'が働くだろう大括弧で囲んだ方がいいですが、ユーザの入力に 'eval'を使うのは非常に愚かでしょう。 –
'eval(" User.includes(#{string}) ")'でも動作しますが、@ Jordanが言ったように、あなたは間違っています。あなたは、アプリケーションから内部形式のインクルードのリストを受け取って、そこにインクルードする_safelyリストを作成する必要があります。 – mudasobwa
「ユーザー提出コード」の評価は非常に危険な作業です。最後に、このコードが実行されるサンドボックスの場所を考えてみましょう。 [Rubyの$ SAFEについてのこの記事を読む](http://stackoverflow.com/questions/169303/how-to-run-untrusted-ruby-code-inside-a-safe-sandbox) –