我的主屏幕上有註冊表單。如果用戶輸入無效數據,我將他重定向到/signin
頁面。在此頁面上,我可以看到填充字段,但錯誤說明爲空。在Ruby on Rails控制器和視圖之間傳遞模型
這裏是我的UsersController
:
class UsersController < ApplicationController
def new
@user = User.new(params[:user])
end
def create
@user = User.new(params[:user])
print @user
if @user.save
else
render 'new'
end
end
end
方法我用它來顯示錯誤
module ApplicationHelper
def errors_for(model, attribute)
if model.errors[attribute].present?
content_tag :div, :class => 'well error' do
content_tag :ul do
model.errors[attribute].collect {|item| concat(content_tag(:li, item))}
end
end
end
end
end
我的形式分:
<%= f.label :user_name %>
<%= f.text_field :user_name, :class=>"input-medium" %>
<%= errors_for(@user, :user_name) %>
<%= f.label :email %>
<%= f.text_field :email, :class=>"input-medium " %>
<%= errors_for(@user, :email) %>
<%= f.label :password %>
<%= f.password_field :password, :class=>"input-medium" %>
<%= f.label :password_confirmation, "Confirmation" %>
<%= f.password_field :password_confirmation, :class=>"input-medium" %>
和我註冊的觀點:
<section class="centered user-form-container">
<div class="user-form well pull-left">
<div class="centered">
<h1>Sign up</h1>
<%= form_for(@user, :action=>"create") do |f| %>
<%= render 'signup', :f=>f %>
<%= f.submit "Sign up" %>
<% end %>
</div>
</div>
</section>
請問這個代碼涉及到您的題? – Mischa
我發佈數據來創建此控制器的動作,然後呈現新的視圖模板,如果有一些錯誤 – earsonheart
你必須向我們展示視圖代碼。你必須有一些代碼檢查@user模型中的錯誤,並最終顯示它們 – coorasse