Ruby on rails 显示错误而不是ruby默认值?
当使用它时,我得到了RubyonRails的默认设计。在我当前的设计中,如何像Ruby on rails 显示错误而不是ruby默认值?,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,当使用它时,我得到了RubyonRails的默认设计。在我当前的设计中,如何像那样将其作为常规文本打印 型号: class Users < ActiveRecord::Base validates_presence_of :username, :message => "Du skal udfylde brugernavn" attr_accessible :email, :password, :username end class HomeController < A
那样将其作为常规文本打印
型号:
class Users < ActiveRecord::Base
validates_presence_of :username, :message => "Du skal udfylde brugernavn"
attr_accessible :email, :password, :username
end
class HomeController < ApplicationController
def index
if params[:username]
l = Users.new(:username => params[:username], :password => params[:password], :email => params[:email]).save!
if Users.save?
z = Users.where(:username => params[:username]).limit(1).last
@debugging="Yay"
else
@debugging = user.errors.full_messages.join("<br/>")
end
end
end
end
validates_presence_of :username, :message => "Du skal udfylde brugernavn"
if user.save
flash[:success] = 'User saved successfully'
else
flash[:error] = user.errors.full_messages.join('<br />')
end
class用户“Du skal udfylde brugernavn”
可访问属性:电子邮件、密码、用户名
结束
控制器:
class Users < ActiveRecord::Base
validates_presence_of :username, :message => "Du skal udfylde brugernavn"
attr_accessible :email, :password, :username
end
class HomeController < ApplicationController
def index
if params[:username]
l = Users.new(:username => params[:username], :password => params[:password], :email => params[:email]).save!
if Users.save?
z = Users.where(:username => params[:username]).limit(1).last
@debugging="Yay"
else
@debugging = user.errors.full_messages.join("<br/>")
end
end
end
end
validates_presence_of :username, :message => "Du skal udfylde brugernavn"
if user.save
flash[:success] = 'User saved successfully'
else
flash[:error] = user.errors.full_messages.join('<br />')
end
class HomeControllerparams[:username],:password=>params[:password],:email=>params[:email])。保存!
如果用户保存?
z=用户。其中(:username=>params[:username])。限制(1)。最后
@调试=“耶”
其他的
@调试=用户。错误。完整消息。加入(
)
结束
结束
结束
结束
在型号中:
class Users < ActiveRecord::Base
validates_presence_of :username, :message => "Du skal udfylde brugernavn"
attr_accessible :email, :password, :username
end
class HomeController < ApplicationController
def index
if params[:username]
l = Users.new(:username => params[:username], :password => params[:password], :email => params[:email]).save!
if Users.save?
z = Users.where(:username => params[:username]).limit(1).last
@debugging="Yay"
else
@debugging = user.errors.full_messages.join("<br/>")
end
end
end
end
validates_presence_of :username, :message => "Du skal udfylde brugernavn"
if user.save
flash[:success] = 'User saved successfully'
else
flash[:error] = user.errors.full_messages.join('<br />')
end
在控制器中:
class Users < ActiveRecord::Base
validates_presence_of :username, :message => "Du skal udfylde brugernavn"
attr_accessible :email, :password, :username
end
class HomeController < ApplicationController
def index
if params[:username]
l = Users.new(:username => params[:username], :password => params[:password], :email => params[:email]).save!
if Users.save?
z = Users.where(:username => params[:username]).limit(1).last
@debugging="Yay"
else
@debugging = user.errors.full_messages.join("<br/>")
end
end
end
end
validates_presence_of :username, :message => "Du skal udfylde brugernavn"
if user.save
flash[:success] = 'User saved successfully'
else
flash[:error] = user.errors.full_messages.join('<br />')
end
your_object.errors
返回一个关联数组:{:username=>“Du skal udfylde brugernavn”}
因此,您可以执行以下操作:
<%= user.errors[:username] %>
请在此处查看有关如何在您的视图中使用此功能的更多信息(官方RubyonRails文档):
来自:
要验证对象的特定属性是否有效,可以使用errors[:attribute]。它返回:属性的所有错误的数组。如果指定的属性没有错误,则返回空数组
因此,只需显示
errors
hash..您将调用validates两次,将其修改为validates\u presence\u of:username,:message=>“Du skal udfylde brugernavn”
@SagarBommidipresence=>true
将被忽略。它仍将中断页面。使用Codeit方法在控制器中保存。如果要检查保存是否确实正常,应在if语句中使用.save?
。然后显示正确的页面。嗯,那没用。再次检查我的问题以获取新代码。删除。保存代码>自始至终非常感谢。帮了大忙。鲁比很好。