2011-06-26 22 views
1

私は理解のために、Rails 3.1で単純な電卓のフォームを作成したいと考えています。フォームを使って、数値を取得し、それに2を掛けたいとします(たとえば)。単純な電卓のフォーム

私はインデックスページ(/インデックス)とコントローラを作成した後、ビューに形成:私は、コントローラで行う必要があり

<%= form_for @result do |f|%> 
<%= f.label :number, 'Number' %>: 
<%= f.text_field :number %> 
<%= submit_tag 'Submit' %> 
<%end%> 
<%[email protected]%> 

何?

def index 
    @result = '' 
    end 
    def calculate 
    @result = @number.to_i*2 
    end 

答えて

4

これはうまくいきません。 form_forは、ActiveRecordを拡張するモデル用のフォームを構築するために使用されます。代わりにform_tag('/calculate')を使用してください。

config/routes.rbで `match 'calculate' => 'your_controller_name#calculate'を定義する必要があります。

また、あなたの計算アクション用のビューを必要とする - calculate.html.erb(あなたは違っそれを呼び出すことができますが、あなたはrender 'view_name'を指定する必要があります

また、あなたが同じビューファイルを使用したい場合は、render :action => :index

を使用しています。

だからあなたの場合にはそれが@result = params[:number] * 2

Thisのように言及するのを忘れた。 フォームからのデータにアクセスするには、あなたがparams[:key]ハッシュを使用しています。 を見てしまいます本はRailsから始めるのに最適な場所です。誰がレールの計算例を探すために起こっている場合には

はまた、theseスクリーンキャストがあまりにも

2

かなり便利です...私は自分自身が今、どこからでも一緒に小さな断片を入れていくつかの時間後に1を作りました。結果は、Webから新鮮な為替レートデータを取得し、あなたが望む通貨にユーロを変換できる通貨計算機アプリです。

多分あまりに合計新人で、レールに電卓を実装する方法をお知りになりたい人のためのgithubのへのリンク:またhttps://github.com/Veske/form Herokuのへのリンク:http://harjutus.herokuapp.com