我对以下应用程序有问题,我一直在railsCasts的Rails 3中进行第211集验证,但当我尝试添加类EmailFormatValidator时,会触发一个错误
NoMethodError in Users#index
Showing /home/fernando/Validations/store/app/views/users/index.html.erb where line #12 raised:
undefined method `each' for nil:NilClass
Extracted source (around line #12):
9: <th></th>
10: </tr>
11:
12: <% @users.each do |user| %>
13: <tr>
14: <td><%= user.name %></td>
15: <td><%= user.email %></td>
Rails.root: /home/fernando/Validations/store
模型/user.rb
class User < ActiveRecord::Base
validates :email, :presence => true, :uniqueness => true, :email_format => true
end
lib/email_format_validator.rb
class EmailFormatValidator < ActiveModel::EachValidator
def validate_each(object, attribute, value)
unless value =~ /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i
object.errors[attribute] << (options[:message] || "is not formatted properly")
end
end
end
/controller/user.rb
class UsersController < ApplicationController
# GET /users
# GET /users.json
def index
@users = User.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @users }
end
end
# GET /users/1
# GET /users/1.json
def show
@user = User.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @user }
end
end
# GET/users/new # GET/users/new . JSON def new @ user = user . new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @user }
end
终止
# GET /users/1/edit def edit @user = User.find(params[:id]) end
#POST /users#POST/users.json创建@user=User.new(参数[: user])
respond_to do |format|
if @user.save
format.html { redirect_to @user, notice: 'User was successfully created.' }
format.json { render json: @user, status: :created, location: @user }
else
format.html { render action: "new" }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
终止
#PUT/users/1#PUT/users1.json def update@user=user.find(params[:id])
respond_to do |format|
if @user.update_attributes(params[:user])
format.html { redirect_to @user, notice: 'User was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
终止
#删除 /users/1#删除 /users/1.jsondef销毁@user=User.find(params[: id])@user.destroy
respond_to do |format|
format.html { redirect_to users_url }
format.json { head :no_content }
end
结束 结束
当我单击用户控制器#索引中的一次性参数错误时,出现此错误
Unknown validator: 'EmailFormatValidator'
Rails.root: /home/fernando/Validations/store
请在应用程序文件夹中创建验证程序目录。
您的文件名应类似于验证器文件夹中的 email_format_validator.rb
#app/model/user.rb
class User < ActiveRecord::Base
validates :email, :presence => true, :uniqueness => true, :email_format => true
end
请从“lib文件夹”中删除此验证器文件。
使用Devise为电子邮件编写Rails验证的简单方法
更简单的< code >验证:email,:presence =
我有新的Ubuntu15.04和我安装了sbt通过本指南与
我正在构建一个简单的客户机-服务器系统。我构建了一个Java服务器&一个运行在mine设备上的android客户端(两者连接到同一个LAN)。 当我试图建立一个连接(通过单击按钮)时,客户端失败并出现错误 Android客户端代码: manifest.xml: 布局文件:
问题内容: 我必须使用测试工具编译我的代码,但是,当该测试工具调用我的方法时,我收到此错误: “课程Course中的getCourseDetails方法不能应用于给定类型; 必需:java.lang.String,int,java.lang.String,boolean,java.lang.String.java.lang.String,double 找到:没有参数 原因:实际参数列表和形式参数列
尝试运行我的蝗虫文件时,在尝试命令蝗虫-f蝗虫文件.py--host时,我遇到了以下错误=http://localhost:8080 文件“/home/sonali/.local/lib/python3.6/site packages/蝗虫/user/task.py”,第280行,运行self.schedule_任务(self.get_next_task())文件“/home/sonali/.lo
我使用Symfony HttpClient调用外部api。当stastusCode为200时,我可以使用方法来检索API响应。如果API响应为400,则抛出ClientExc0019,并且无法获取外部API消息。
问题内容: 我是Play Framework的新手,正在尝试从本手册中构建待办事项清单。 当我尝试运行该应用程序时,出现错误: 我的代码是(相关部分): MainController.java : index.sacala.html : 我环顾四周,发现最接近的线程就是这个线程,但是我无法使用它解决问题(可能是由于缺乏对环境/框架的了解…)。 值得一提的最后一件事: 如果将’index.sacal