0
0

More than 3 years have passed since last update.

Railsデータ登録時に制限をかける方法

Posted at

Validatesの書き方

何かをデータベースなどに登録する編集する際に入力規則を設けたい場合は、modelファイルに記載する。

#models/post.rb
class Post < ApplicationRecord
    validates :contetnt,{presence:true,length:{maximum:140}}
end

上記の例では空白を許可しないvalidatesと最大文字数140文字をcontentに設定している。
この設定を実施するとcontentが未入力の状態でDataBaseを更新することはできない。

#controllers/posts/controller.rb

def new
    @post = Post.new()
end

def create
   @post = Post.new(content: params[:contetnt])
   if @post.save
      flash[:notice] = "登録が完了しました" 
      redirect_to("/飛ばしたいページURL")
   else
     render("posts/new")
   end
end


#posts/new.html.erb

<%= form_tag("/posts/create") do %>

    <% @post.errors.full_message.each do | message| %>
        <%= message %>
    <% end %>

    <input type="text" name="content" value="<%= @post.content %>">
    <input type="submit" value="送信">

<% end %>
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0