在我的Rails应用程序中,我有一个模式,可以随时点击学生进行编辑。在重定向到编辑页面之前,用户必须为正在进行的编辑提供基本原理和名称(此信息保存在另一个数据库中)。但是,在模态中的确认按钮上,我通过jQuery分配href值,并希望在单击时将页面重定向到该页面,但它遵循理性规范_rbr redirect_to子句中定义的路径。有没有办法可以让它遵循HREF属性呢?
感谢所有帮助,谢谢!
修改
模态按钮:<button class="btn btn-warning" id="editStudentConfirmBtn">Edit</button>
JS分配HREF:
var kid_id = $(this).data('id');
$("#editStudentConfirmBtn").attr("href", "/kids/" + kid_id + "/edit");
默认的rational_controller.rb设置:
def create
@rationale = Rationale.new(rationale_params)
@rationale.user = current_user
respond_to do |format|
if @rationale.save
format.html { redirect_to @rationale, notice: 'Rationale was successfully created.' }
format.json { render :show, status: :created, location: @rationale }
else
format.html { render :new }
format.json { render json: @rationale.errors, status: :unprocessable_entity }
end
end
端
编辑2:
答案 0 :(得分:0)
解决方案需要一个AJAX调用,在执行create
操作后将页面重定向到指定位置。
我必须更改Rationale
的控制器,如下所示:
def create
@rationale = Rationale.new(rationale_params)
@rationale.user = current_user
respond_to do |format|
if @rationale.save
format.html { render :nothing => true }
format.json { render :show, status: :created, location: @rationale }
else
format.html { render :new }
format.json { render json: @rationale.errors, status: :unprocessable_entity }
end
end
end
并改变JS如下,而不是使用jQuery为按钮分配href我只是使用AJAX调用来自动重定向页面:
$('#editStudentConfirmBtn').click(function(){
$.ajax({
success: function(result) {
location.href = '/kids/' + kid_id + '/edit'
}
});
});