Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 显示错误而不是ruby默认值?_Ruby On Rails_Ruby_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 显示错误而不是ruby默认值?

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

当使用它时,我得到了RubyonRails的默认设计。在我当前的设计中,如何像
那样将其作为常规文本打印

型号:

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”
@SagarBommidi
presence=>true
将被忽略。它仍将中断页面。使用Codeit方法在控制器中保存。如果要检查保存是否确实正常,应在if语句中使用
.save?
。然后显示正确的页面。嗯,那没用。再次检查我的问题以获取新代码。删除
。保存自始至终非常感谢。帮了大忙。鲁比很好。