ユーザーに名前とメールアドレスを入力してもらいたいフォームがあります。これらはセッションに保存されます。その後、チャットボックスにテキストを投稿できます。
私の見解では、最初のセッションを作成するには:
<%= simple_form_for(@comments, :url => guest_login_order_path(@order)) do |f| %>
<input name="comment[new_user_comment_name]" />
<input name="comment[new_user_comment_email]" />
<%= f.button :submit, :value => 'Guest Signin', :class => '' %>
<% end %>
これは私のコントローラーに行きます:
def guest_login
@order = Order.where(:public_hash => params[:public_hash]).first
session[:new_user_account] = params[:new_user]
respond_to do |format|
if session[:new_user_account]
format.html { redirect_to @order, notice: 'Your account has been created.' }
format.json { render json: @order, status: :created, location: @order }
else
format.html { render action: "invoice" }
format.json { render json: @order.errors, status: :unprocessable_entity }
end
end
end
パラメータは正しく渡されますが、Cookieが作成されているかどうかはよくわかりません。名前を指定して、作成されたかどうかを確認する方法はありますか?また、ビューでは、セッションが存在するかどうかを確認するための条件がありますか?