首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails中的Twitter引导模式

Rails中的Twitter引导模式
EN

Stack Overflow用户
提问于 2014-04-30 15:14:21
回答 1查看 201关注 0票数 0

我已经在这个问题上拔了几天的头发,但是仍然不能让modals弹出,并且可以通过设计/无所不在的登录。

我看过所有的教程,但我的代码仍然有问题。任何帮助都会很好!

代码语言:javascript
运行
复制
#gemfile
gem 'twitter-bootstrap-rails'

然后是在application.html.slim中呈现的共享/头

代码语言:javascript
运行
复制
li
  = link_to "Login", new_user_session_path, :remote => true, 'data-toggle' => 'modal', 'data-target' => '#login_modal', :class => "btn btn-small", :method => 'get'

li
  = link_to "Sign Up Free", new_user_session_path, :remote => true, 'data-toggle' => 'modal', 'data-target' => '#sign_up_modal', :class => "btn btn-small", :method => 'get'

在顶部的application.coffee中,我确保需要引导

代码语言:javascript
运行
复制
#= require_self
#= require twitter/bootstrap
#= require ./util
ETC...

我有我的_sign_up_modal.html.erb和_login_modal.html.erb,两者非常相似,所以我只打算发布一个。

代码语言:javascript
运行
复制
<div class="modal fade" id="sign_up_modal">
    <div class="modal-dialog">
        <div class="modal-content">
    <div class="modal-header">
        <button class="close" data-dismiss="modal">x</button>
        <h2 class="modal-title">Sign Up</h2>
    </div>
        <div class="modal-body">
            <%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
            <%= devise_error_messages! %>
        <div><%= f.label :email %><br />
            <%= f.email_field :email, :autofocus => true %></div>
        <div>
            <%= f.label :password %><br />
            <%= f.password_field :password %>
        </div>
        <div>
        <%= f.label :password_confirmation %><br />
        <%= f.password_field :password_confirmation %>
        </div>
        </div>
        <div class="modal-footer">
            <p>
                <div>
                    <%= f.submit "Sign up", :class => 'btn btn-small btn-success' %>
                </div>
            </p>
            <p>
                <a href="#" class="btn btn-small" data-dismiss="modal">Close</a>
            </p>
    </div>
<% end %>
</div>
</div>
</div>

我改变了我的application_helper

代码语言:javascript
运行
复制
module ApplicationHelper
  def page_title
    @page_title || ENV['SITE_TITLE']
  end
  # Added for twitter bootstrap modals
  def resource_name
    :user
  end

  def resource
    @resource ||= User.new
  end

  def devise_mapping
    @devise_mapping ||= Devise.mappings[:user]
  end

end

当我点击任何一个链接时,页面就会刷新.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-30 19:32:13

将此代码放入您的application.html.slim中

代码语言:javascript
运行
复制
link_to "Sign Up Free", new_user_session_path, :remote => true, :class => "btn btn-small",    :method => 'get'

<div class="modal fade" id="sign_up_modal">
  <div class="modal-dialog">
    <div class="modal-content" id="sign_up_form"></div>
  </div>
</div>

并将剩余的代码移动到_sign_up_modal.html.erb

i.e

代码语言:javascript
运行
复制
starting from <div class="modal-header"> ...... till <% end %>

现在创建一个相应的new.js.erb文件并添加这段代码。

代码语言:javascript
运行
复制
$('#sign_up_modal').modal(); 

$('#sign_up_form').html("<%= escape_javascript(render("sign_up_modal")) %>")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23391848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档