2
我正在從RoR教程做練習,並遇到了一個奇怪的問題,其中錯誤消息呈現兩次。部分呈現兩次的錯誤消息
new.html.slim
- provide(:title,'Sign up')
h1 Sign up
div class="row"
div class="col-sm-6 col-sm-offset-3"
= form_for(@user,html:{role:"form"}) do |f|
= render 'shared/error_messages'
div class="form-group"
= f.label :name
= f.text_field :name, class:"form-control"
div class="form-group"
= f.label :email
= f.text_field :email, class:"form-control"
div class="form-group"
= f.label :password
= f.password_field :password, class:"form-control"
div class="form-group"
= f.label :password_confirmation,"Confirmation"
= f.password_field :password_confirmation, class:"form-control"
= f.submit "Create Account", class: "btn btn-lg btn-primary"
在此代碼(第7行),我渲染的局部shared/error_messages
。該頁面被稱爲像這樣:
users_controller.rb
def create
@user = User.new(user_params)
if @user.save
else
render 'new'
end
end
def user_params
params.require(:user).permit(:name, :email, :password, :password_confirmation)
end
任何想法?
編輯:增加了部分
= if @user.errors.any?
div#error_explanation
div class="alert alert-danger"
| The form has
= "#{@user.errors.count}"
| error(s)
ul
- @user.errors.full_messages.each do |msg|
li
= "#{msg}"
它是一個實際的雙渲染錯誤,或者你只是在頁面上顯示兩次東西? – sevenseacat
我在頁面上顯示兩次'shared/error_messages'位,當我對此進行搜索時,我認爲問題是由於我在users_controller.rb中調用'new'造成的。 – kgtekito
你能粘貼這部分的內容嗎? – Intrepidd