0

ええと、私はすでに何日もこれと戦ってきました。したがって、私の目標は、Twitter と同じように登録フォームを作成することです (入力するとすべてのページにユニバーサル フォームが作成され、送信された値を保持して、完全なフォームを含む /signup ページにリダイレクトされます)。

現在、public_controller にはユニバーサルな短い形式があり、users_controller の一部である /signup には完全な形式があります。

フォームに入力した後にレンダリングを試みましたが、フォームが異なるコントローラー上にあるため、それが答えだとは思いません。私はセッションとクッキーでもそれをやろうとしましたが、うまくいきませんでした.

余分な値を取り除いた関連性のあるコード:

<%= form_for(:user, :url => { :controller => 'users', :action => 'create' }) do |f| %>
<input name="user[name] />
<input name="user[email] />
<input name="user[password]" />

したがって、ユニバーサル サインアップ フォームには、:name、:email、:password の 3 つの値があります。最終的なフォームには、もう 1 つの値、:username があります。

users_controller の def new と def create は、正直なところ空っぽです。なぜなら、私は非常に多くの異なることを試してきたので、それらに何を追加すればよいかわからないからです。

すべての助けに感謝します。どんな指示も大歓迎です。

4

1 に答える 1

0

最初のフォームから 2 番目のフォームに vars を設定できます。

 def controller_first_method
   @name     = params['name']
   @email    = params['email']
   @password = params['password'] <-- hash this before!!
 end

2 番目の形式では、次のようになります。

= f.hidden_field :name, :value => @name

データのシリアル化を試すこともできます。

https://github.com/mrbrdo/serialize-rails

于 2013-08-24T01:50:54.607 に答える