小编Rod*_*edo的帖子

无法使用带有bootstrap-sass gem的Rails 4在Heroku上运行CSS

我已经向Heroku部署了一个应用程序,但有一个问题似乎无法解决.app via的CSS Bootstrap-sass没有加载,因此我有一个非样式的应用程序.目前,这只是静态页面的集合.

我在README https://github.com/thomas-mcdonald/bootstrap-sass中只执行了一步.我无法弄清楚的步骤很可能是我的问题如下.由于Rails中的更改会阻止在供应商和库中编译图像,因此您需要将以下行添加到application.rb:

config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif)
Run Code Online (Sandbox Code Playgroud)

由于我仍然是编程的新手,第一个问题是我不知道在application.rb文件中何处以及如何添加它.如果有人能帮我告诉我如何以及在何处正确添加上述代码,我将不胜感激.

第二个问题可能与我使用的宝石有关,但是当我创建应用程序时,sass-rails gem安装了〜> 4.0.0.beta1.根据README,使用的版本是3.2.由于这也可能是一个问题,我已经包含了gem文件,任何人都可以确定这是我的问题的根本原因.

提前感谢您提供的任何帮助.

编辑:添加我在第一次尝试时采取的步骤,导致样式在我的本地主机上正常工作,但一旦代码部署到heroku就没有.

  1. 创建了一个新的rails 4 app(下面的gem文件)
  2. 添加了下面gem文件中列出的bootstrap-sass gem
  3. 将PG gem添加到生产组中的gem文件中,并将SQLite3移至开发和测试(运行bundle install - 在步骤2和3之后不生成)
  4. 为静态主页创建了一个页面控制器
  5. 在主页上的英雄单元中添加了一个h1,以查看样式是否正常工作
  6. 添加了styles.css.scss文件并包含了@import'bootstrap'; 到样式表
  7. 创建了git存储库,运行我的初始提交并将代码推送到git
  8. 创建了heroku应用程序并将主人推送到heroku

在第二次尝试时,我在主页上添加了一个导航栏(如果这对任何人都有影响)并再次执行步骤7和8,但在执行这些步骤之前,我运行了以下代码行.

RAILS_ENV=production bundle exec rake assets:precompile
Run Code Online (Sandbox Code Playgroud)

我仍然最终得到了一个在我的本地主机上具有正确风格的网站,但没有样式在Heroku上工作.正如我在上一篇文章中所提到的,有一行代码需要添加到我没有遵循的application.rb文件中,因为我对如何正确地将代码行添加到文件中缺乏了解.

的Gemfile:

source 'https://rubygems.org'

ruby "2.0.0"

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.0.0.beta1'

group :production do
gem 'pg'
end

group :development, :test do
gem 'sqlite3'
end

# Gems used only for assets and not …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails heroku bootstrap-sass ruby-on-rails-4

36
推荐指数
3
解决办法
3万
查看次数

SQL Server视图,祝福还是诅咒?

我曾与一位禁止使用SQL视图的架构师合作过.他的主要原因是观点使得一个没有思想的编码人员很容易不必要地参与联合表格,如果那个编码人员更加努力,可以完全避免.隐含地,他通过复制粘贴而不是视图中的封装来鼓励代码重用.

该数据库有近600个表并且高度标准化,因此大多数有用的SQL都必须冗长.

几年之后,我可以看到禁令至少有一个不好的结果 - 我们有数百个密集,冗长的存储过程,这些过程无法维持.

事后我会说这是一个糟糕的决定,但你对SQL视图的体验是什么?你发现它们对性能有害吗?关于它们何时适合或不适合的任何其他想法?

sql sql-server

28
推荐指数
4
解决办法
6184
查看次数

添加名字和姓氏以设计注册表单

我正在使用 Rails 4,我正在尝试将名字姓氏字段添加到注册过程中。我正在使用设计来处理身份验证。

我已经通过迁移将 first_name 和 last_name 列添加到我的用户模型中。我还在 application_controller.rb 文件中添加了以下内容:

before_filter :configure_permitted_parameters, if: :devise_controller?

protected

def configure_permitted_parameters
  devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:first_name, :last_name, :email, :password, :password_confirmation, :remember_me) }
  devise_parameter_sanitizer.for(:sign_in) { |u| u.permit(:email, :password, :remember_me) }
  devise_parameter_sanitizer.for(:account_update) { |u| u.permit(:first_name, :last_name, :email, :password, :password_confirmation, :current_password) }
end
Run Code Online (Sandbox Code Playgroud)

但是,当我注册时, first_name 和 last_name 字段可以留空,即使填充它们,这些值也不会保存到用户对象中。

我怎样才能:

  1. 在注册时强制要求这些字段?我尝试将 'validates_presence_of :first_name, :last_name, :email' 添加到用户模型中,但由于某种原因表单总是认为 first_name 和 last_name 字段为空,因此不得不将其删除。
  2. 更新设计创建操作,以便保存通过设计/注册/new.html.erb 文件传入的值?
  3. 我有一个想要与该用户关联的 Person 模型(关联已成功创建,我有编辑人员和用户字段的表单,但不确定如何将其构建到设计注册过程中。

任何帮助,将不胜感激。

devise ruby-on-rails-4

5
推荐指数
1
解决办法
7476
查看次数

javascript_include_tag会抛出不受支持的方法

我最近使用Rails 4.2.0创建了一个新项目,并创建了一个名为Land登录页面的控制器.所以,我在visting时遇到了这个错误http://localhost:3000/land/home:

Started GET "/" for ::1 at 2015-02-27 15:56:23 -0600
Processing by LandController#home as HTML
Rendered land/home.html.erb within layouts/application (0.0ms)
Completed 500 Internal Server Error in 5526ms

ActionView::Template::Error (TypeError: Object doesn't support this property or method
(in C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/turbolinks-2.5.3/lib/assets/javascripts/turbolinks.js.coffee)):
3: <head>
4:   <title>Course</title>
5:   <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
6:   <%= javascript_include_tag 'application' %>
7:   <%= csrf_meta_tags %>
8: </head>
9: <body>
app/views/layouts/application.html.erb:6:in `_app_views_layouts_application_html_erb__1279127835_98590860'


Rendered C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/web-console-2.0.0/lib/action_dispatch/templates/rescues/_source.erb (5.0ms)

Rendered C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/web-console-2.0.0/lib/action_dispatch/templates/rescues/_trace.html.erb (10.0ms)

Rendered C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/web-console-2.0.0/lib/action_dispatch/templates/rescues/_request_and_response.html.erb …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails turbolinks ruby-on-rails-4

4
推荐指数
1
解决办法
5819
查看次数

ActiveRecord,validates_uniqueness_of:如果我有一个大写方法,名称不会捕获非单一性

我有一个简单的大写方法,这样当用户在乐队页面中提交一个新乐队时,它会返回第一个大写字母.在我的Band课程中,我还有一个validates_uniqueness_of :band_name,看看是否已经有一个band相同的条目.见下面的代码:

  class Band < ActiveRecord::Base
    has_and_belongs_to_many :venues
    validates :band_name, :presence => true
    before_save :title_case
    validates_uniqueness_of :band_name

  private

    def title_case
      self.band_name.capitalize!
    end

  end
Run Code Online (Sandbox Code Playgroud)

因此,如果我输入someband,它会创建它并将其显示为Someband.如果我someband再次打字,ActiveRecord看到它是唯一的,我会得到另一个Someband.它的唯一工作方式是我打字Someband.我该如何解决这种情况?

ruby activerecord ruby-on-rails

2
推荐指数
1
解决办法
84
查看次数