2011-10-31 2 views
0

(まず最初に、この問題は、本を読んだり、手にして本を手にして、491ページの関連する部分を読むことができれば答えることができます。小さなセクションと私はそのために謝罪ここに貼り付け)Michael Hartl's Railsチュートリアルブックの491ページでhidden_​​fieldメソッドを使用するとは何ですか?

このページ上のマニュアルで使用_follow.html.erb部分です。

<%= form_for current_user.relationships. 
          build(:followed_id => @user.id) do |f| %> 
<div><%= f.hidden_field :followed_id %></div> 
<div class="actions"><%= f.submit "Follow" %></div> 
<% end %> 

それは「追跡を作成するためのものです"ボタンを押して他のユーザーを追跡します。

そして「f.hidden_​​field」を扱っラインの彼の説明では、彼は言った、

は最後に、あなたは、フォームがボタン以外の任意のコンテンツを持っていないことに注意しましょう私たちがhidden_​​fieldを使って達成した、それはまだそれ以下のIDを送る必要があります。

私の質問は以下のとおりです。

はなぜfollowed_idを送信するためにここにhidden_​​fieldが必要なのでしょうか?限り、私はそれを参照してください、行

<%= form_for current_user.relationships. 
         build(:followed_id => @user.id) do |f| %> 

は、すでに割り当てられている:従属属性の権利?

答えて

1

コードの2つの部分が異なると思います。

<%= form_for current_user.relationships.build(:followed_id => @user.id) do |f| %> 

この行は、フォームの新しいレコードを作成します。

<%= f.hidden_field :followed_id %> 

このコードは、フォームの実際のパラメータを作成します。

- >私はこの上の失礼なことしたくないが、私はより明確にあなたを理解できるように、あなたの英語を少しリフレームください可能性http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-form_for

+0

のform_forについての詳細を学ぶためにそれを読むことをお勧めします?ありがとう、damienbrz。 –

+1

もう一度やり直してみてください。最初の行は、フォームの作成時に使用するform_forメソッドの一時オブジェクトを作成します。この場合、関係。 2行目は、作成したばかりの一時オブジェクトのデータで隠しフィールドを構築します。 – Rasmus

+0

ありがとうございます@Rasmus。 –

関連する問題