0

最終的にWebアプリケーションを構築したいので、(Rubyを使用して)初めてプログラミングの方法を学びます。私はそれをよく理解していて、2つの異なるチュートリアルの途中ですが、大きな質問があります...

オブジェクト、メソッド、文字列などについて多くのことを学びましたが、これまでのチュートリアルでは、実際にWebサイトのフロントエンドと統合すること、またはコードをHTMLに「埋め込む」ことについては言及していません。だから私の質問は、これらすべてが実際にWebサイトやユーザーコマンドと対話することにどのように変換されるのかということです。私はここで全体像を見ることができず、実際にいくつかのガイダンスを使用することができます。

私はここで何が起こっているのか疑問に思っていますか?!

4

3 に答える 3

2

あなたを怖がらせる危険を冒して、Webアプリケーションを(適切に)書く方法を学ぶために、あなたは学ぶ必要があるでしょう:

  • あなたが書く言語(ルビー)
  • アプリケーションフレームワーク(rails?またはsinatra?)
  • HTML
  • CSS
  • javascript
  • ブラウザとサーバー間の通信の基礎となるHTTPプロトコル

ただし、次の手順に進む前に、これらのすべてを学ぶ必要はありません。

ルビーを学んでいる間、 Sinatraなどのより単純なフレームワークの少なくとも1つで遊ぶことをお勧めします。そうすれば、実際にWebアプリケーションの作成方法を学んでいるように感じることができます。

もちろん、レールで遊ぶこともできますが、少なくともWebアプリケーションの作成方法を学ぶという点では、少し気が遠くなる可能性があります。ルビーの特異性とレールの特異性の違いを初心者が見分けるのは難しいかもしれません。

于 2012-04-10T00:49:01.627 に答える
2

HTMLでは呼び出されません。HTMLは言語ではありません。HTMLは、Web用に設計された出力形式です。

とても簡単です。

「単純な」rubyプログラムでは、コードの出力はSTDOUTコンソール、画面などに表示されます。

rubyインタープリターを搭載したサーバーは、rubyコードを変換し、HTMLとしてクライアントに提示します。拡張子(レール内)を指定し、コードを。で囲むことにより、どのファイルを「変換」するかを定義しますcode tags

これは純粋なルビーで書かれた簡単なwebrickの例です

# in server.rb
#
require 'webrick'
server = WEBrick::HTTPServer.new(:Port=>8080)

trap 'INT' do server.shutdown end

class Dog
  attr_accessor :name
  def initialize(name)
    self.name = name
  end
  def bark
    "#{name} is barking!"
  end
end

dog = Dog.new("Fido")

server.mount_proc('/bark'){ |req, resp|
    resp['Content-Type'] = 'text/html'

    resp.body = "#{dog.bark}"
}

server.mount_proc('/run') do |req,resp|
    dog.instance_eval do
      def run_away
        "#{name} is running away..."
      end
    end

    resp['Content-Type'] = 'text/html'
    resp.body = "#{dog.run_away}"
end

server.start

実行ruby server.rbしてに移動しlocalhost:8080/runlocalhost:8080/bark結果を確認します。

編集-シナトラの例

webrickの例を理解するのが難しい場合は、Sinatraをチェックしてください。

# in sinatra_example.rb
require 'sinatra'

class Dog
  attr_accessor :name
  def initialize(name)
    self.name = name
  end
  def bark
    "#{name} is barking!"
  end
end

fido = Dog.new("Fido")

get '/bark' do
  fido.bark
end

get '/run' do
  fido.instance_eval do
    def run_away
      "#{name} is running away!"
    end
  end

  fido.run_away

end
于 2012-04-10T00:43:12.700 に答える
1

あなたがRubyを学び始めたことは素晴らしいことです!しかし、Ruby自体は単なるプログラミング言語です。Railsをチェックしたくないと思います!

http://guides.rubyonrails.org/getting_started.html

RailsはRubyで書かれており、書くものの多くはRubyになるので、おそらくすぐに始めることができます。

于 2012-04-10T00:48:18.270 に答える