質問: cgi["url"] print cgi.header("type"=>"text/plain") #この下にはnokogiriを使った処理がある ``` というのを書いてあるのですが、意味が分からないです。 自分なりに調べてみましたがフォームの値を受け取れるとか? ここではurlをうけとっているんですかね。 ふつうparamsなどで取るのでは?と思うのですが。 rubyでcgiを使うメリットがわかりません。 実行環境がなく試行できないためわかる方、ご教授いただければと思います。 環境はRailsは使っていません。 a.htmlのJSがsample.rbを呼び出しています。
回答: よく勘違いされている方がいらっしゃるので Ruby On RailsはRubyを使いRubyの哲学に基づいたフレームワークであって Rubyではありません(Rubyで書かれてはいるのですが...)そもそも、Rubyとその先祖のLispは 自分自身で自分自身の記述を全て残したまま、新しい言語を内部に作り出すほどの柔軟性があります。 なのでRailsにはRailsのRubyにはRubyの書き方があります、もちろん前述の通りRailsをRubyで記述することが可能ですし、逆にRailsの一部を借りてきてRubyをRailsっぽく描くことも可能です。 ふつうparamsでとるのはRailsの流儀、具体的には(activesupport)のライブラリのおかげです。 もちろん、activesupport等を生Rubyにインポートすれば、Railsの流儀で記述することが可能です。 (ちょっとしたコツが必要ですが...。) CGIはRubyの流儀(正確にはRailsの助けを借りずに今回の内容をするのに効率的な方法) とりあえず、ある決められたことしかしないなら、生Rubyでちょろっと書いて、ついでにRubyの流儀に触れて見るのがいいと思います。