私は現在、ボストン地域の留学生向けに、Reddit スタイルのコミュニティのような Rails プラットフォームを構築しています。私はまだ自分のアイデアが受け入れられるかテスト中です。シンプルなフォームと搬送波を使用しています。@student = Student.new
サインアップ メソッドでこのインスタンスを取得しました。@uploader = Student.new.picture
サインアップ方法でもこれを取得しました(キャリアウェーブを使用)。アイデアは、すべての生徒が自分に関連付けられた写真を持っているということです。学生モデルにキャリアウェーブの画像機能を搭載しました。Carrierwave_direct gem を使用して、Amazon の s3 ストレージに写真を直接アップロードしています。
私のsignup.html.erbは次のようになります
<div class = "signupform">
<%= simple_form_for @student, :html => {:multipart => true} do |f| %>
<%= f.input :last_name, label: '姓'%>
<%= f.input :first_name, label: '名' %>
<%= f.input :email, label: '电子邮件' %>
<%= f.input :password, label: '密码' %>
<%= f.input :college, label: '大学' %>
<%= f.input :budget, label: '房间租金预算 (optional)' %>
<%= f.button :submit %>
<br>
Your picture is optional
<% end %>
<%= direct_upload_form_for @uploader do |f| %>
<p><%= f.file_field :picture %></p>
<%= f.button :submit %>
<% end %>
</div>
これを一つの形にするにはどうすればいいですか?フォームに 2 つの送信ボタンがあります。ユーザーはアカウントを作成できますが、お礼のページにリダイレクトされますか、またはユーザーは写真をアップロードするだけでアカウントを作成できませんか?
direct_upload_form_for は、s3 に直接アップロードするために必要なキャリア ダイレクトのヘルパー ビュー メソッドです。