我正在使用seyhunak的gem开发一个带有Twitter Bootstrap的3.1 Rails应用程序。 在生产模式下,我能够通过管道预编译使用基本的bootstrap CSS和JS: RAILS_ENV=production bundle exec rake assets:precompile 使用gem文件: group :assets do gem ‘sass-rails’, ‘~> 3.1.5’ gem ‘coffee-rails’, ‘~> 3.1.1’ gem ‘uglifier’, ‘>= 1.0.3’ gem “twitter-bootstrap-rails” end 和application.js文件: //= require_tree . //= require jquery //= require jquery_ujs //= require twitter/bootstrap //= require bootstrap-tab //= require bootstrap-modal //= require bootstrap-dropdown //= require bootstrap-popover 该应用程序工作正常,除了模态和下拉列表等引导插件。 […]
我遇到了一个问题,我在rails项目的两个分支上工作,每个项目都有一个迁移来添加一个列。 当时, rake db:migrate:reset导致出现问题,我完全依赖schema.rb来正确表示我的数据库状态。 有一次,我遇到了一个问题,即分支A添加的列进入了分支B的模式。由于migrate:reset不是一个选项,我使用手动编辑模式文件。 我提交了这个更改,它基本上删除了分支A中我不需要在分支B的schema.rb中的列。 在将分支A合并到主服务器之后出现了问题。 当我尝试将分支B重新命名为master时,我仍然在B中进行了提交,以删除模式文件中的列(现在已经变得相关,因为它在master中)。 Git没有看到这方面的冲突并自动合并它。 在我的rebase结束时,我发现我的模式与master中的模式不一致。 我的修复是再次编辑模式文件并手动将以前删除的列添加回模式文件。 我的问题是:这被认为是非传统的吗? 危险吗? 哈克? 现在它涉及一列但如果这涉及多列删除/添加(危险?)解决方案可能导致更多问题和db / schema.rb不一致。
我有一个使用Mongoid的非常简单的模型。 我已经添加了使用Redcarpet解析MD并存储它。 但是在update_attributes期间,它会抛出exception。 运行模型并通过rails c运行更新工作正常。 class Post include Mongoid::Document field :contents_markdown field :contents key :title before_create :markdown before_save :markdown protected def markdown if self.contents_markdown self.contents = Redcarpet.new(self.contents_markdown).to_html.html_safe end end end 这是控制器爆炸了。 def update @post = Post.find(params[:id]) respond_to do |format| if @post.update_attributes(params[:post]) format.html { redirect_to @post, notice: ‘Post was successfully updated.’ } format.json { head :ok […]
我有一个名为Category的简单模型。 该模型有三个字段: name:string , parent_id:integer和cause id ! parent_id是一个自引用关联: has_many :children, :class_name => ‘Category’, :foreign_key => ‘parent_id’ belongs_to :parent, :class_name => ‘Category’, :foreign_key => ‘parent_id’ 所以每个类别都可以有子类别,并且开启和开启,……这不是数据库中的问题,但是当涉及到视图时我会感到困惑! 我不知道如何循环通过每个类别的children和那些儿童,…
我正在通过capistrano部署第一个rails应用程序:rails 3.1 passenger 3.0.11 nginx 1.0.10 应用程序出错了。 在我的$ app / logs / production.log中,我得到: 5: 6: 7: 8: app/views/layouts/application.html.erb:5:in `_app_views_layouts_application_html_erb__88091947956529734_37470040′ 但是在我的application.rb中,我设置了: # Enable the asset pipeline config.assets.enabled = false 我认为这个指令导致资产管道被禁用。 有什么想法发生了什么?
我正在开发一个Rails v2.3应用程序。 当我通过执行命令运行rspec测试时: rspec spec/controllers/my_controller_spec.rb 我收到了以下错误消息 : /.rvm/gems/ruby-1.8.7-p352@myapp/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:427:in `raise_if_rspec_1_is_loaded’: (RuntimeError) ******************************************************************************** You are running rspec-2, but it seems as though rspec-1 has been loaded as well. This is likely due to a statement like this somewhere in the specs: require ‘spec’ Please locate that statement, remove it, and try again. ******************************************************************************** /.rvm/gems/ruby-1.8.7-p352@myapp/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:420:in `load_spec_files’ —-更新— 因为它抱怨某些包含代码的文件require […]
我们需要不断更新rails 3.1.3 app的生产中的数据库模式。 使用以下rails命令创建了第一个db模式: $rake RAILS_ENV=production db:schema:load 问题是:我们是否仍然可以使用上述命令更新生产中的db模式,同时安全地保留所有当前数据? 非常感谢。
我有一个Meal模型has_many :foods, :through => :servings 。 Meal还: accepts_nested_attributes_for :servings, :allow_destroy => true validates_associated :servings Serving模型有一个名为serving_amount的字段和一个名为amount_recorded的字段。 在Serving模型中,我目前使用此validation: validates :serving_size, :numericality => {:greater_than => 0}, :if => :amount_recorded? validation失败时返回的消息很糟糕。 事实上,每餐可能有多份食物。 如何创建引用服务大小无效的食物名称的自定义validation消息? 例如,我想说,“你为西瓜输入了一个无效的服务大小”,如果amount_recorded为一个name西瓜的Food的服务是真的,validation失败。
我正在处理Rails 3.1,我希望有人可以指向我的Gem方向,这将允许我在表单上使用依赖选择(或指示如何在Rails 3.1中做得最好)。 我遇到过chained_selects插件,但这似乎依赖于原型,所以它在3.1中并不理想。 最简单的例子是汽车品牌/型号: 我有3个型号:vehicleMake,vehicleModel和vehicleTrim。 我还有赋值表vehicleMake_vehicleModel和vehicleModel_vehicleTrim,它们指定适合每个make的模型等。 我有一个车型,我试图填充制作,模型和装饰。 车型属于vehicle_to vehicleMake,vehicleModel和vehicleTrim。 如何确保模型的下拉列表仅显示所选品牌的模型(以及修剪)? 作为第二点,我如何在我的车型中validation这一点? 谢谢!
我已经设置了一个新的Rails应用程序并使用Authlogic进行身份validation。 我很高兴CRUD用户,但用户会话似乎有问题。 错误信息: undefined method `create’ for nil:NilClass app/controllers/user_sessions_controller.rb:9:in `create’ 应用程序/模型/ user.rb class User < ActiveRecord::Base acts_as_authentic end 应用程序/控制器/ user_sessions_controller.rb class UserSession < Authlogic::Session::Base end 应用程序/模型/ user_session.rb class UserSessionsController < ApplicationController def new @user_sesssion = UserSession.new end def create @user_sesssion = UserSession.new(params[:user_session]) if @user_session.create flash[:notice] = "Welcome back!" redirect_to root_path else render :new end end […]