ruby-on-rails – 在Rails中提交表单后,Bootstrap模式不会被解雇
发布时间:2020-12-17 02:03:37 所属栏目:百科 来源:网络整理
导读:我在Rails 3应用程序中使用bootstrap模式时遇到问题.它目前处理一个审核表单,提交和更新数据库就好了,但提交表单时模式不会关闭.我已经尝试将其添加到表单提交按钮: :data = {:dismiss = "modal"} 但是它会在不执行更新操作的情况下关闭模态.这是我的模态代
我在Rails 3应用程序中使用bootstrap模式时遇到问题.它目前处理一个审核表单,提交和更新数据库就好了,但提交表单时模式不会关闭.我已经尝试将其添加到表单提交按钮:
:data => {:dismiss => "modal"} 但是它会在不执行更新操作的情况下关闭模态.这是我的模态代码: <!-- Review Modal --> <% if current_user == nil %> <% else %> <div id="reviewModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="reviewModalLabel" aria-hidden="true"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h3 id="reviewModalLabel">Write a review</h3> </div> <div class="modal-body"> <%= form_for(review_ballot,:remote => true,:html => {:class => 'review_ballot'}) do |f| %> <h4>Your score:</h4> <%= f.label("score_1",content_tag(:span,'1'),{:class=>"review",:id=>"1"}) %> <%= radio_button_tag("review[score]",1,current_user_review == 1,:class => 'review_button')%> <%= f.label("score_2",'2'),:id=>"2"}) %> <%= radio_button_tag("review[score]",2,current_user_review == 2,:class => 'review_button')%> <%= f.label("score_3",'3'),:id=>"3"}) %> <%= radio_button_tag("review[score]",3,current_user_review == 3,:class => 'review_button')%> <%= f.label("score_4",'4'),:id=>"4"}) %> <%= radio_button_tag("review[score]",4,current_user_review == 4,:class => 'review_button')%> <%= f.label("score_5",'5'),:id=>"5"}) %> <%= radio_button_tag("review[score]",5,current_user_review == 5,:class => 'review_button')%> <br /> <h4>What'd you think?</h4> <%= f.text_area :review_text,:rows => 3,:cols => 10 %> <%= hidden_field_tag :venue_id,@venue.id %> </div> <div class="modal-footer"> <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button> <%= submit_tag "Save review",:class => "btn btn-warning" %> <% end %> </div> </div> 这是review_ballot方法的场地助手 module VenuesHelper def review_ballot if @review = current_user.reviews.find_by_venue_id(params[:id]) @review else current_user.reviews.new end end def current_user_review if @review = current_user.reviews.find_by_venue_id(params[:id]) @review.score else "N/A" end end end 我现在不知道该尝试什么.我用Google搜索过,没有运气.我该如何解决? 编辑:我的临时解决方案 – 我已删除:remote =>从模态真实并在控制器动作中重定向访问者,所以现在我不必担心它被解雇. 它显然很笨拙/笨拙,所以如果有人能帮助我解决这个问题,我仍然会喜欢它.愿意按需提供更多代码/信息. 解决方法
在您的情况下,我的意思是您没有上传任何图像.所以你可以简单地去ajax调用提交.这是一个简单的代码
$(document).ready(function(){ $('#submit_button_id').click(function() { var valuesToSubmit = $("#form_id").serialize(); $("#modal_id").modal('hide') ; $.ajax({ url: "/controller/method",data: valuesToSubmit,type: "POST/GET/PUT" }).success(function(data,status){ $("#id_if_div_where_you_want_to_show_updated_data").html( data ); }); return false; }); }); 编辑 控制器方法如下所示 def method Do what you want to do @object = Model.some_queries render :template => "path_to_view_file like controller_name/method_name",:layout => false end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |