登録しようとしているときに問題が見つかりました。登録ボタンをクリックしたときにnew.html.erbのすべてのフィールドを入力した後、次のようなエラーが表示されます:enter image description here 登録をクリックすると、同じページがレンダリングされますが、エラーのリストとすべての空を作成しています。なぜ、保存していないのかわかりませんでした。フィールド全体。ここでフォームからのデータを保存している間
は私のプログラム
new.html.erb
<%= form_for @user, :html=> {:id => 'create_user'} do |f| %>
<div class="text-center" style="font-size:16px;color:red;">
<% if @user.errors.any? %>
<ul>
<% @user.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
<% end %>
</div>
<div class="form-group">
<%= f.text_field :name, class: 'form-control', placeholder: 'Enter Name' , name: "name" , id: "name" %>
</div>
<div class="form-group">
<%= f.text_field :category, list: "category", id:"select", placeholder:"Select By category" %>
<datalist id="category">
<select>
<option value="Student" />
<option value="Faculty" />
<option value="HOD" />
<option value="Principle" />
<option value="Dean" />
<option value="Chairman" />
</select>
</datalist>
</div>
<div class="form-group">
<%= f.email_field :email, class: 'form-control', placeholder: 'Email' , name:"email" , id: "email" %>
</div>
<div class="form-group">
<%= f.password_field :password, class: 'form-control', placeholder: 'Password' , name: "password" , id:"password" %>
</div>
<div class="form-group">
<%= f.password_field :password_confirmation , placeholder: "Re-type Password" , class: "form-control" , name:"password_confirmation", id:"Re_type" %>
</div>
<div class="form-group">
<div class="row" style="margin-top:20px;">
<div class="col-lg-8 col-lg-offset-2 col-md-8 col-md-offset-2 col-sm-10 col-sm-offset-1 col-xs-10 col-xs-offset-1">
<%= f.submit "Register", class: "btn btn-primary btn-block disabled" , id: "register" %>
</div>
</div>
</div>
<% end %>
routes.rbを
Rails.application.routes.draw do
root "users#index"
get '/' => "users#index"
get "/new" => "users#new"
resources :users
post "/users" => "users#create"
get "users/:id" => "users#show"
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
end
users_controller.rb
です210Class UsersController < ApplicationController
def index
end
def new
@user = User.new
end
def show
end
def create
@user = User.create(user_params)
puts "======================================================================"
puts @user
puts "======================================================================"
if @user.save
session[:user_id] = @user.id
flash[:success] = "Welcome to the My project!"
redirect_to user_path(:id)
else
render :new1
end
end
private
def user_params
params.require(:user).permit(:name,:category, :email, :password)
end
end
user.rb
class User
include Mongoid::Document
field :name, type: String
field :category, type: String
field :email, type: String
field :password, type: String
validates :name, presence: true ,format: { with: /\A[a-zA-Z]+\z/}
validates :email, presence: true , format: { with: /\A[\w+\-.][email protected][a-z\d\-.]+\.[a-z]+\z/i } , uniqueness: { case_sensitive: false }
validates :password , presence: true
before_save :downcase_fields
def downcase_fields
self.name.downcase!
self.category.downcase!
self.email.downcase!
end
end
私を助けてください。 バックエンドとしてmongodbを使用していて、フォームフィールドからデータを保存しようとしていますが、エラーが常に表示されています。有効なデータをデータベースに格納していません。
のどれですか。あなたの質問にそれを加えてください。 – Gerry
Gerry、私は投稿を変更しました。また、エラーを含む画像も添付しました。この問題を解決するために私を助けてください。 –
'params'はどうなっていますか? –