Ruby on Rails:simple_form + Twitter Bootstrap没有显示出来

时间:2013-10-17 20:54:44

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

我正在为我网站上的新用户创建一个简单的sign_up表单。我已经运行了simple_form bootstrap的安装...

rails g simple_form:install --bootstrap

但是,它仍然没有显示并呈现为正常的simple_form。

这是我的表单代码:

<h2>Sign up</h2>

<%= simple_form_for(resource, :as => resource_name, :url => registration_path(resource_name ), :html => {:class => 'form-horizontal' }) do |f| %>
  <%= f.error_notification %>


    <%= f.input :username, :required => true, class: "form-control"%>
    <%= f.input :first_name, :required => true, class: "form-control" %>
    <%= f.input :last_name, :required => true, class: "form-control" %>
    <%= f.input :twitter, class: "form-control", type: "text", placeholder: "Username" %>
    <%= f.input :bio, class: "form-control" %>
    <%= f.input :email, :required => true, :autofocus => true, class: "form-control" %>

  <div class="form-actions">
    <%= f.button :submit, "Sign up", class: "btn btn-primary btn-sm" %>
  </div>
<% end %>

<%= render "devise/shared/links" %>

不确定我在这里做错了什么。提前谢谢。

2 个答案:

答案 0 :(得分:0)

示例应用程序here提到您需要单独下载Bootstrap(它们使用curl)并将其放在vendor / assets / stylesheets / bootstrap.css中。

请尝试。

答案 1 :(得分:0)

听起来你的应用程序中没有安装Bootstrap,或者你正在尝试使用Bootstrap 3.当我在2013-10-13上输入时,Simple Form不支持​​Bootstrap 3.请参阅here更多细节。

这意味着您需要将Bootstrap 2.x添加到您的应用程序中,Vidya已经提供了一些好的方向。

如果您对使用gem添加Bootstrap 2.x感兴趣,那么我在下面提供了twitter-bootstrap-rails的说明。如果我省略了某些内容,请务必查看他们的readme

在你的gemfile中添加:

gem "twitter-bootstrap-rails", :git => 'git://github.com/seyhunak/twitter-bootstrap-rails.git'

然后在rails控制台上进行项目运行(我假设你需要更少的支持):

bundle install
rails generate bootstrap:install less

根据您是想要固定布局还是静态布局,请使用以下两行之一:

rails g bootstrap:layout application fixed
rails g bootstrap:layout application fluid

最后,编辑你的application.css文件(在app / assets / stylesheets中找到),这样它'需要bootstrap_and_overrides类似于下面的例子:

*= require_self
*= require bootstrap_and_overrides
*= require_tree .

我很确定现在默认情况下会发生这种情况,但您可能还需要确认您的app.js中也需要twitter / bootstrap(可在app / assets / javascripts中找到)。我的项目的一个例子如下:

//= require jquery
//= require jquery_ujs
//= require twitter/bootstrap
//= require turbolinks
//= require_tree .

如果它仍然不起作用,你添加了这个宝石。请告诉我你正在使用的ruby,rails,simple_form和twitter-bootstrap-rails的版本。