从Rails中的条件视图调用bootstrap模式

时间:2012-06-12 06:23:36

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

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

所以,我需要从视图中调用js:我看到它是这样的:

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

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

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

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

我应该改写我的注册?

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

1 个答案:

答案 0 :(得分:0)

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

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

但总的来说,我建议在respond动作中使用Ajax和js create,在你的模态中渲染表单:

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


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