2012-02-18 1 views
0

にこれを変換しますか?私はたくさんの異なる方法を試しましたが、構文を理解できないようです。副次的に、私はそれがむしろ混乱していると感じます。私は古い構文では、次のしているRuby 1.9のハッシュ

編集:実際に私はすでにjson:callとそれを混合していることに気がついた。バハ! 2つの間に行くことは嫌いです。

+0

最新の試みがまだありますか? – summea

+3

*古い*構文はありません。制限された一連のハッシュリテラルに対して新しい構文があります。 '=>'の使用には何も問題ありません。実際には、キーがシンボルでない場合や、 ':$ in'や': 'this.that'のようなシンボルの場合に使用する必要があります。 –

+0

私は多くのバリエーションを試しましたが、{}を含めるとエラーが発生し続けます。そこにハッシュのネストが混乱を引き起こしていると思われ、私の意見で読むのは本当に難しいです。ありがとう、ムー。私は2つの間を移動しなければならないことは嫌いですが、将来のコードリリースでは新しいオプションの構文を見て楽しむことはできません。 – Steve

答えて

3

私は悩みがどこにあるかわからないんだけど、それはこれにかなり簡単に変換します。さておき、1行に非常に多くのネストされた構造を一緒に糸引きが混乱することにバインドされていたよう

render json: [@note.to_json(include: { contact: { except: [:created_at, :updated_at]}}, only: :body)], status: :created, location: [@contact, @note] 

。それを分解して、読み込み可能(および書き込み可能)にします。

0

あなたの例はうまくいきます。私だけは私が変更さだけでは

:include => { :contact => { :except => 
であった(@contactと@note)へのアクセスを持っていないオブジェクトを周りを取得するために、いくつかのわずかな変化とは別に、

require 'pp' 
pp json: [ 
    { 
     include: { 
     contact: { 
      except: [:created_at, :updated_at] 
     } 
     }, 
     only: :body 
    } 
    ], 
    status: :created, 
    location: %w[contact note] 

だから、さらにいくつかのキーを変更する必要があります

include: { contact: { except: 

また、あなたはこの種のもののためにrablを使用してに見えるかもしれません。

関連する問題