1

Rails に慣れようとして始めたばかりで、Ruby についてはあまり知りません。現在、私は名前、電子メール、電話番号を受け取る単純なフォームを含むフレームワークに慣れるための初心者プロジェクトを行っています。送信ボタンを押すと、ページが更新され、送信した情報が表示されます (そのため、データベースとの対話はなく、モデルはほとんど実行しないと想定されています)。非常に単純ですが、Ruby に関する私の現在の知識はごくわずかであるため、やや混乱しています。私はほとんどのビューを書きましたが、コントローラーとモデルに何を入れるかまだ混乱しています。誰かが素晴らしいヒントを提供できれば!

4

3 に答える 3

3

テーブルレスモデルが必要です。このトピックについては、ライアンの優れたWebキャストを参照してください。

http://railscasts.com/episodes/193-tableless-model

于 2012-05-31T19:57:03.990 に答える
2

モデル(少なくともActiveRecord :: Baseから派生したモデル)にはデータベースが必要です。したがって、モデルを使用している場合は、SQLiteのような単純なモデルであっても、データベースを使用しています。

モデルに降りて、モデルのテーブルを作成するための移行を生成したくない場合は、フォーム値をインスタンス変数に格納し、ビューでそれらを参照するだけです。以下はその方法の簡単な例です。

nameデータ(例:およびemail)をアクションに送信するフォームがある場合create、createアクションは次のようになります。

def create
  @name = params[:name]
  @email = params[:email]
  render :my_template
end

上記のcreateアクションは、送信されたパラメータをインスタンス変数に割り当てます。インスタンス変数は、ビューで参照できます。上記の例では、createアクションはと呼ばれるビューをレンダリングしようとします。このビューmy_templateはおそらく名前が付けられmy_template.html.erb、次のようになります。

<p>Your name is <%= @name => and your email is <%= @email =>.</p>

これは非常に小さくて工夫された例ですが、うまくいけばこれが役立つでしょう。

モデルの操作に進むと、代わりに作成アクションでモデルの新しいインスタンスを作成し、そのモデルにユーザーから送信されたパラメーターを渡し、モデルを保存してから、データを表示するページにリダイレクトする場合があります。

于 2012-05-31T19:52:24.073 に答える
1

データベースを使用すると、はるかに簡単になります。

rails new stack
cd stack
rm public/index.html
rails generate scaffold Member name:string email:string phone:string
rake db:migrate
rails server

次に、localhost:3000/members を参照します。

(レール3を使用していると仮定)

于 2012-05-31T19:57:40.870 に答える