模态有时会保留,有时会消失

时间:2015-07-10 13:46:00

标签: javascript jquery ruby-on-rails twitter-bootstrap

我使用Ruby on Rails和Bootstrap。

模态如下。

index.html.erb

<div class="modal fade" id="join_to_room" tabindex="-1" role="dialog">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">&times;</button>
        <h4 class="modal-title">Enter room</h4>
      </div>
      <div class="modal-body">
        <p>Do you join this room?</p>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
        <%= link_to 'Yes', {:action => "join_to_room", :rid => room.id}, :class => "btn btn-primary",:id => "modal_yes", :role => "button", :remote => true, data: { disable_with: 'Sending ...' } %>
      </div>
    </div>
  </div>
</div>

当用户点击“是”按钮并进入房间时,他的self.join_id会更新为房间的ID并重新加载页面。

user.rb

def join_to_room
  current_user.update_attribute :join_id, params[:rid]
  redirect_to '/'
end

top.js.coffee

$ ->
    $("#modal_yes").click ->
        location.reload()

如果self.join_id在访问index.html页面时不是nil,则会转到room的show.html.erb。因此,点击“是”的用户应该立即进入房间。

user.rb

def enter?
    if self.join_id
        return self.join_id
    else
        return nil
    end
end

top_controller.rb

def index
  if current_user && current_user.enter?
    redirect_to Room.find(current_user.join_id)
  end
end

但是,页面没有重新加载,用户最初没有进入房间,重新启动服务器后,它运行良好。

为什么呢?我该怎么办?

0 个答案:

没有答案