Javascript 引导模式窗口不显示';t渲染模型验证错误
我的主页上有一个基本的模式窗口,可以呈现一个表单来创建一个新的Javascript 引导模式窗口不显示';t渲染模型验证错误,javascript,ruby-on-rails,twitter-bootstrap,modal-dialog,Javascript,Ruby On Rails,Twitter Bootstrap,Modal Dialog,我的主页上有一个基本的模式窗口,可以呈现一个表单来创建一个新的Post 我在Post模型中进行了长度验证,如果表单不满足最小长度,我希望表单显示一个错误 这是Post模型: class Post < ApplicationRecord belongs_to :user validates :content, length: { in: 1..400 } end 邮政总监: class PostsController < ApplicationController be
Post
我在Post
模型中进行了长度验证,如果表单不满足最小长度,我希望表单显示一个错误
这是Post模型:
class Post < ApplicationRecord
belongs_to :user
validates :content, length: { in: 1..400 }
end
邮政总监:
class PostsController < ApplicationController
before_action :set_user
def new
@post = Post.new
end
def create
@post = Post.new(post_params)
@post.user = @user
if @post.save
redirect_to root_path
else
render :new
end
end
private
def post_params
params.require(:post).permit(:content)
end
def set_user
@user = current_user
end
end
class PostsController
模式窗口不会呈现错误,我发现的唯一呈现错误的方法是,如果无法保存Post
,请执行render:new
问题是它将呈现属于Post的new.html.erb
视图,而不是我主页中的模式窗口
我可以让模态窗口显示错误吗?我是否应该将模式窗口代码移动到一个单独的部分文件中,并使用JS渲染它?我会完全按照您的建议进行推荐。将表单移动到部分渲染部分,然后您应该能够重新渲染部分并在失败时替换模式内容。看起来是个好主意fit@engineersmnky谢谢如何使JS呈现部分文件?
class PostsController < ApplicationController
before_action :set_user
def new
@post = Post.new
end
def create
@post = Post.new(post_params)
@post.user = @user
if @post.save
redirect_to root_path
else
render :new
end
end
private
def post_params
params.require(:post).permit(:content)
end
def set_user
@user = current_user
end
end