を示されていない形式です。提出フォームの値は、対応するビュー。ここ
<%= form_tag({:controller => "home", :action => "tellafriend"}, :method => "post", :class => "well form-horizontal") do %>
<div class="control-group">
<label class="control-label" for="input01">Your name:</label>
<div class="controls">
<input id="name" class="input-xlarge" type="text"/>
<p class="help-block">Type in your name so your friends know you sent this.</p>
</div>
</div>
<div class="control-group">
<label class="control-label" for="input01">Friends email address:</label>
<div class="controls">
<input id="emails" class="input-xlarge" type="text"/>
<p class="help-block">Who do you want to send this to? Separate different emails with a comma.</p>
</div>
</div>
<div class="control-group">
<label class="control-label" for="input01">Message:</label>
<div class="controls">
<textarea id="message" class="input-xlarge" type="text" rows="7"></textarea>
<p class="help-block">Attach a special message your friends will read.</p>
</div>
</div>
<button class="btn tell-a-friend-submit" type="submit">Send</button>
<% end %>
そして、私のコントローラ:
class HomeController < ApplicationController
def index
end
def tellafriend
@name = params[:name]
@emails = params[:emails]
@message = params[:message]
end
end
そして、私のルートの設定ファイルで:
post "home/tellafriend"
そして最後に、私のビュー:
<p><% @name %></p>
なぜビューに示されている私は、「名前」に入力した値ではないでしょうか?
そして、私はPOSTを行うとき、私は私のコンソールで、これを参照してください。
がPOSTを開始 "/ホーム/ tellafriendを" 127.0.0.1ために2012-02-12夜02時16分10秒 -0400処理でレイアウト/アプリ内{ "UTF8" => "✓"、
"authenticity_token" => "2N1jNQ30cXCU4YANQ3FEZFBBTNhKobCQUwj1rEZ3Mxw ="}レンダリングホーム/ tellafriend.html.erb:HTML
パラメータなどにHomeController#1 tellafriendにより、 (0.0ms) 20msで200 OKを完了しました(再生回数:11.9ms | ActiveRecord:0.0ms)
これは私の値が転記されていないことを意味しますか?提案?
編集:各HTML入力要素と値になりまし掲示されているためname
属性に
を追加しました:
は127.0のためのPOST "/ホーム/ tellafriend" を開始。 0.1 at 2012-02-12 14:23:39 -0400 HomeController#tellafriendによる処理:HTML形式:{"utf8" => "✓"、 "authenticity_token" => "2N1jNQ30cXCU4YANQ3FEZFBBTNhKobCQUwj1rEZ3Mxw ="、レイアウト内"名" => "セルジオ"、 "電子メール" => "[email protected]"、 "メッセージ" => "ASDF"}レンダリングホーム/ tellafriend.html.erb /アプリケーション(0.4ms) 40msで200 OKを完了(Views:26.9ms | ActiveRecord:0.0ms)
ただし、ビューでも値はレンダリングされません。答えるために
<input name="name" id="name" class="input-xlarge" type="text"/>
UPDATE:あなたのinput
フィールドはname
属性欠けている
OK]をクリックして、今コンソールによると、値が正しく掲示されているが、ビューはまだ値をレンダリングしていません。 –
ああ、私は初めてこれを見逃しました:erbでは、結果を印刷するためにブラケットに '= 'を追加する必要があります。私は私の答えを更新しました。 – osahyoun