У меня есть два частичных вида для двух разных форм регистрации. На моей домашней странице, основанной на ссылке один нажимает на, я рендеринг соответствующей формы. (Вид/приложение/индекс)рендеринг частичных элементов в контроллере после проверки проверки
= link_to 'Mentor', new_user_path(user_role: true), :class =>'btn'
= link_to 'Mentee', new_user_path, :class =>'btn'
В просмотрах/пользователях/new.html.haml, я проверяя роль пользователя и перенаправление на соответствующую форму.
- if params[:user_role]
= render 'mentor'
- else
= render 'mentee'
В пользовательской модели я добавил подтверждение следующим образом.
class User < ActiveRecord::Base
email_regex = /\A[\w+\-.][email protected]/i
validates :cisco_email, :presence => true,
:format => { :with => email_regex,}
validates :work_city, :presence => true
end
Поэтому, если есть какое-либо недопустимое поле, я хочу направить его в ту же форму со флэш-сообщением. Мой контроллер выглядит так.
class UsersController < ApplicationController
def index
end
def show
@user = User.find(params[:id])
end
def new
@user = User.new
end
def create
@user = User.new(params[:user]) # Not the final implementation!
if @user.save
flash[:success] = "Welcome to the CSG Mentoring Tool!"
redirect_to @user
else
flash[:notice] = "Error regsitering."
if params[:user][:user_role]
render :partial => 'users/mentor'
else
render :partial => 'users/mentee'
end
end
end
end
Когда запись недействительна поле есть, он перенаправляет на страницу «подопечный», независимо от того, на какой странице сделана ошибка. Также изменяется весь стиль css и вспышка также не отображается
Благодаря @pradeep. Мне было интересно, как установить user_role = true в форме наставника, чтобы этого не произошло. Каким бы способом вы меня ни направляли? – Novice
Спасибо @pradeep. Но я все еще удивляюсь, почему меняется весь макет, когда я обрабатываю частичные элементы контроллера. – Novice
визуализации не перезагружать css и js снова. Это зависит от того, как вы используете css и js в своем приложении. Было бы легко ответить, увидев ваши частичные и как вы включаете css и js .. –