0

Linkedin gem を使用して、RoR 3 のプロファイル情報を取得しています。

名前にダッシュが含まれるプロパティに到達する場合を除いて、すべてが機能します。

<%=position.title %>正しく表示されますが、 in -が<%= position.start-date %>返されます。NoMethodErrorUsers#showundefined method start

「startDate」、「start_date」、「start-date」を囲む引用符など、さまざまな操作を試しましたが、どれも機能しませんでした。

プロパティ名のダッシュ/ハイフンをエスケープする適切な方法はありますか?

4

2 に答える 2

0

ERBの式は、位置オブジェクトのstart()メソッドの呼び出しの結果から日付変数の値を減算するものとして解析されます。Ruby内の識別子ではハイフンは無効です。

LinkedInのgemについては、解決策を提案するのに十分な知識がありません。ただし、XML APIに基づいているため、タグペアから手動でデータを引き出す方法を探す必要があります。ほとんどの同様の宝石はそのような方法を提供します。また、これはIRBを探索ツールとして使用する場合に最適です。もちろん、position変数を適切に作成した後、IRBセッションを起動し、position.methodsを呼び出したときに何が起こるかを確認します。私の推測では、そのリストに答えを示唆する何かが表示されると思います。

于 2012-04-22T18:04:52.027 に答える
0

キーを変換する Hashie::Mash を返すように見えますが、いくつかの追加ルールがあります: https://github.com/pengwynn/linkedin/blob/master/lib/linked_in/mash.rb

もう試したって言ってたよねposition.start_date?それはうまくいくはずです。しかし、そうでない場合は、試したことがありますか、position['start-date']それともposition['start_date']マッシュであるため、これら 2 つのうちの 1 つも機能するはずです。

于 2012-11-29T21:26:14.007 に答える