1

私は3週齢のRails初心者で、実装したいものがありますが、どうすればよいかわかりません。私はアプリを作っています:

ユーザーが新しいユーザーの表示ページにサインアップ情報を入力し、[送信]をクリックすると、ユーザーがすぐに作成されてデータベースに保存されるのではなく、2番目のWebページに移動するようにします。アカウントを作成する前に、最終的な確認を求められます。次に、[確認]をクリックして確認に合格すると、アカウントが最終的に作成され、データベースに保存されます。

情報を入力して送信を押すという基本的なフォームの作成方法しか知らないので、これは私にとって難しいことです。データベースに新しいエントリがあります。別のウェブページの「ユーザー作成」を延期する方法はわかりませんが、友人がhttpリクエストについて何か言及していますが、それでも何もわかりません。これまでのところ、コードの一部を投稿します。

私のusers_controller 新しい定義:

def new
  @user = User.new
  @user.websites.build
end

私のusers_controller 作成方法:

def create
  @user = User.new(params[:user])
  if @user.save
    sign_in @user
    flash[:success] = "Welcome!"
    redirect_to @user
  else
    render 'new'
  end
end

私のusers/new.html.erbサインアップフォーム:

<% provide(:title, 'Sign up') %>
<h1>Sign up</h1>
<%= render 'shared/error_messages' %>
<%= form_for(@user) do |f| %>

  <%= f.label :email %>
  <%= f.text_field :email %><br/>

  <%= f.label :password %>
  <%= f.password_field :password %><br/>

  <%= f.label :password_confirmation, 'Confirm Password' %>
  <%= f.password_field :password_confirmation %><br/>

  <%= f.fields_for :websites do |builder| %>
    <%= builder.label :url, 'Website URL' %>
    <%= builder.text_field :url %>
  <% end %>

  <%= f.submit "Sign up", :id => 'submit' %>
<% end %>

このようなアドバイスを求めるような質問をしたことは一度もないので、ここが適切な質問場所であることを願っています。ありとあらゆる助けをいただければ幸いです。

4

3 に答える 3

2

「マルチステップ」フォームを作成しようとしていると思います...それについては非常に優れたレールキャストがあります: http://railscasts.com/episodes/217-multistep-forms?view=asciicast

ただし、各ステップを個別に検証する必要があるため、検証の問題に直面する可能性があります。それで、ここも見てください:http://guides.rubyonrails.org/active_record_validations_callbacks.html#conditional-validation

それが役立つことを願っています...

于 2012-07-15T16:38:12.047 に答える
1

ユーザー管理にはDeviseを使ったほうがいいです。 https://github.com/plataformatec/devise こちらは railscast のチュートリアルです。 railscasts.com/episodes/209-introducing-devise

于 2012-07-15T16:26:09.687 に答える
0

マルチステップを実行している場合は、いつでも1つのページから別のページに情報を渡すことができます。セッション配列に保存したり、他のページに再投稿したり、Cookieを作成したりすることもできます。

アカウントの作成には機密情報が必要なため、httpsでこのすべての手順を実行することも忘れないでください。

Railsが初めての場合は、実際にはPHPのような低レベルのものをお勧めします。これにより、Railsのような高レベルのフレームワークで作業を開始する前に、すべてがどのように機能するかを理解できます。MVCは、すべてを最初から行うよりも強力で簡単ですが、通常、Web開発の最良の最初のステップではありません。

于 2012-07-15T16:52:32.597 に答える