我想在註冊用戶時添加電子郵件確認。用戶必須使用他們的邀請碼和電子郵件地址填寫表格,然後他們會收到一封包含激活鏈接的電子郵件。format.js不執行(ajax)
所以我想要做的就是讓用戶填寫表單,然後提交表單並重新加載表單,以便隱藏和顯示消息「我們向您發送了一封電子郵件,請檢查並單擊鏈接「而不是重新加載整個頁面。
signup.html.erb
這裏我添加了遙控:真
<%= form_tag(form_action, method: :get, remote: true, id: 'create-form') do %>
users_controller.rb
重定向的作品,但format.js是未知格式
def new
... code checking params
if @user.user_email_confirmed
render :new
else
respond_to do |format|
format.html { redirect_to signup_path(@user.name, email: @user.email) }
format.js
end
end
new.js.erb
$('#create-form').hide().after('');
$('.login-form').append('<p class="link-sent">We have sent an activation link to the email address you entered - please be sure to check your spam or trash folders. Please click that link to complete account activation.</p>');
不知道我錯過了什麼,什麼想法?
當你點擊窗體中的「提交」按鈕時,你確定你的'new'動作被調用,我真的不這麼認爲! – SsouLlesS
請檢查您的控制器中是否有'before_action'或任何其他回調,可能導致問題 – SsouLlesS
我很確定提交按鈕調用新的。表單操作指向用戶#新路由。 – cvDv