Javascript 创建操作后的Rails模式弹出窗口

Javascript 创建操作后的Rails模式弹出窗口,javascript,ruby-on-rails,popup,modal-dialog,Javascript,Ruby On Rails,Popup,Modal Dialog,我在rails应用程序中有一个简单的投票操作,我希望在成功创建操作后显示一个模式弹出窗口(如twitter引导中的on)。我有一个模态视图部分、一个接受.js的respond_to块和一个create.js.erb文件,如果我没有弄错的话,理论上应该在调用create操作时显示这个文件 我只是不太明白如何将所有这些东西连接在一起(我还假设javascript是不正确的),任何提示都将非常有用,谢谢 controller.rb def create @vote = Vote.new(par

我在rails应用程序中有一个简单的投票操作,我希望在成功创建操作后显示一个模式弹出窗口(如twitter引导中的on)。我有一个模态视图部分、一个接受.js的respond_to块和一个create.js.erb文件,如果我没有弄错的话,理论上应该在调用create操作时显示这个文件

我只是不太明白如何将所有这些东西连接在一起(我还假设javascript是不正确的),任何提示都将非常有用,谢谢

controller.rb

def create
    @vote = Vote.new(params[:vote])
    respond_to do |format|
    if @vote.save
      format.html { redirect_to :back,  notice: "Thank you for voting! why not Tweet your vote?" }
      format.js  <!--should there be a call to a specific file here?-->
    else
      flash[:error] = "please try again"
      redirect_to :back
    end
    end
  end
end
def创建
@投票=投票。新建(参数[:投票])
回应待办事项|格式|
如果@vote.save
format.html{redirect_to:back,注意:“感谢您的投票!为什么不在推特上发布您的投票?”}
format.js
其他的
flash[:错误]=“请重试”
重定向到:返回
结束
结束
结束
结束
投票/info.html.erb

<div class="modal hide fade">
  <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
    <h3>Thanks for voting!</h3>
  </div>
  <div class="modal-body">
    <p>Why not tweet your selection?</p>
  </div>
  <div class="modal-footer">
    <a href="#" class="btn">Close</a>
    <a href="#" class="btn btn-primary">Save changes</a>
  </div>
</div>

&时代;
谢谢你的投票!
为什么不推特你的选择

投票/create.js.erb

$(".modal").html(<%= escape_javascript render partial: 'votes/info' %>);
$(".modal").show();
$(“.modal”).html();
$(“.modal”).show();
投票_form.html.erb

<%= form_for([Vote.new(hotel_id: hotel.id)]) do |f| %>
    <%= f.hidden_field :hotel_id %>
    <%= f.submit "Vote", class: "btn-large btn-info" %>
    <% end %>


您没有向我们显示投票/new.html.erb,但我认为问题在于
需要在该文件中,而不是部分文件中。另外,确保部分文件名以下划线“\u info.html.erb”开头。

引用
$(“.modal”)
?啊,是的,这会有帮助,lol,问题编辑,modal仍然没有显示?你认为div是选择modal div类的正确方法吗?嗨,汤姆,我在编辑中添加了新的表单。您会将div类模态放在该文件的何处?它是否像:html=>{render partial“voates/info”}do | f |?您可以将它放在底部,但它实际上并不重要,因为它是隐藏的或模态的。只有那个部门,没有别的。js.erb文件将呈现并插入部分的html。我将div放在表单底部,但仍然没有显示,在创建新对象时重新呈现页面是否会阻止显示模式?既然您提到了,我想知道您是否最好使用“投票/感谢”视图而不是模式视图。因此,在投票成功后,将_重定向到“谢谢”。如果笛福更容易编写代码,那么最好保持在同一页面上,因为你可以为许多事情投票,而不仅仅是一次性的