I got problem in validation with modal popup. This is my index.html.haml:
.container-index
%h1 All Posts Here
%button.btn.btn-info(type="button" data-toggle="modal" data-target="#myModal") New Post
= render 'form'
- @posts.each do |post|
.col-md-4
%h3= link_to post.title,post
%p= post.content
= "#{time_ago_in_words post.created_at} ago "
_form.html.haml:
.container
= simple_form_for current_user.posts.build do |f|
%div.modal.fade#myModal(tabindex="-1" role="dialog" aria-labelledby="myModalLabel")
%div.modal-dialog(role="document")
%div.modal-content
%div.modal-header
%button.close(type="button" data-dismiss="modal" aria-label="Close")
%span(aria-hidden="true") ×
%h3.modal-title#myModalLabel New Post
%div.modal-body
= f.input :title, label:"Title",class:'form-group',name: 'title'
= f.input :content, label:'Content',class:'form-group',name:'content'
%div.modal-footer
%button.btn.btn-danger#mynewpostclose(type="button" data-dismiss="modal") Close
= f.submit 'Create', class:"btn btn-primary"
post.rb:
validates :title, presence: true validates :content, presence: true
posts_controller.rb:
before_action :find_post, only: [:show, :edit, :update, :destroy]
before_action :authenticate_user!, except: [:index, :show]
def index
@posts = Post.all.order("created_at DESC")
end
def new
@post = current_user.posts.build
end
def create
@post = current_user.posts.build(post_params)
if @post.save
redirect_to @post, notice: 'Created Successfully'
else
render 'new'
end
end
def show
end
def edit
end
def update
if @post.update(post_params)
redirect_to @post, notice: 'Updated Successfully'
else
render 'edit'
end
end
def destroy
@post.destroy
redirect_to posts_path(@post), notice: 'Deleted Successfully'
end
private
def find_post
@post = Post.find(params[:id])
end
def post_params
params.require(:post).permit(:title, :content)
end
I do not know how to show up the warning
When I create a new post without any title or content
it'll link to a blank page and don't create any new post
I just wanna call warning inside modal when submit, anyone can help me,plzz?
simple_form_for .... remote: trueand in JS you will be able add errors - Oleg Sobchuk