1

リモートXMLファイルを解析し、Nokogiriを使用してそこからデータを抽出する小さなRubyスクリプトをコーディングしました。今、私はRailsアプリケーションとしてより高度なバージョンをコーディングしようとしています。

私は自分のコードをコントローラーの中に持っています。これは、Rubyスクリプトで使用したコードに似ていますが、機能していません。エラーは、XMLを外部ではなくローカルにロードしようとしているためだと思います。

Railsが私に与えているエラーは次のとおりです。

No such file or directory - http://mal-api.com/anime/10?format=xml

これが私のコントローラーのコードのサンプルです:(必要に応じてすべてを提供できますが、これは主にデフォルトのRailsスキャフォールドコードです)。

def create
 require 'nokogiri'
 @anime = Anime.new(params[:anime])

 doc = Nokogiri::XML(open("http://mal-api.com/anime/#{@anime.mal_id}?format=xml"))

 #Title
 title = doc.css("anime english_title").inner_html
 #Snipped rails scaffold code
end

mal_idフォームを介して渡されます。Nokogiriが私のGemfileに追加されました。

足りないものや間違ったことはありますか?どんな助けでも大歓迎です。

4

1 に答える 1

1

デフォルトでは、openファイルを開くためにrubyのメソッドが使用されます。URLを直接開きたい場合は、次のようにする必要がありますrequire 'open-uri'。詳細については、ドキュメントを参照してください:http ://www.ruby-doc.org/stdlib-1.9.3/libdoc/open-uri/rdoc/OpenURI.html

于 2013-01-04T08:31:07.707 に答える