javascript - 从 Rails 中的条件 View 调用 Bootstrap 模式

标签 javascript ruby-on-rails twitter-bootstrap modal-dialog registration

首先,我解释一下我想做什么:当用户在 sign_in 或 sign_up 弹出表单( Bootstrap 模式)中输入错误的值时,我应该调用 $("#sign_up").show();或 $("#login").show();.

所以,我需要从 View 中调用js:我是这样看的:

  <%= devise_error_messages! //here call $("#sign_up").show(); %>

或其他方式,但几乎相同,但没有 devise_error

  <% if @user.errors.any? %>
<%"eval('$("#sign_up").show();')"%> 

或者它应该如何......

我是否应该重写我的注册?

请纠正我,我不知道该怎么做。

最佳答案

如果我理解你不需要调用模态的问题。只是不要在页面加载后隐藏它。也就是说,必须有这样的东西:

<% if @user.errors.any? %>
  <div id="myModal" class="modal">
<% else %>
  <div id="myModal" class="modal hide">
<% end %>
    #your modal here
  </div>

但总的来说,我建议在 create 操作中使用 Ajax 和 respondjs,在模态中呈现表单:

#create action
respond_to do |format|
  if @user.save
    ...
  else
    ...
    format.js { render action: "new" }
  end


#new.js.erb
$('#myModal').html("<%= j render 'form' %>");

关于javascript - 从 Rails 中的条件 View 调用 Bootstrap 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10991468/

相关文章:

javascript - PHP 文件重定向/离开主页

javascript - 访问默认的 OpenLayers 样式

javascript - 如何在javascript函数中获取当前HTML元素的高度和宽度属性

ruby-on-rails - Rails Cookie 问题

ruby-on-rails - Ruby on Rails 3,多个域的电子邮件验证?

css - 将内容内联显示到 Bootstrap 表

javascript - AngularJS:从.then 中返回一个 promise ?

jquery - 使用 Ransack 、 Rails 4 将多个搜索表单结果合并为一个

html - 自举列重叠

css - 如何防止列表超出父级 <div>?