Tag: ruby on rails 3.1

移动到生产时错误预编译资产

我正在尝试将我的项目转移到生产中, 尝试去 RAILS_ENV=production bundle exec rake assets:precompile 给我一个错误,没有指定它是在哪个文件中。 rake aborted! Sass::SyntaxError: Invalid CSS after “}”: expected selector or at-rule, was “}” (sass):89 /Users/mac/.rvm/gems/ruby-2.2.3/gems/sass-3.4.23/lib/sass/scss/parser.rb:1207:in `expected’ /Users/mac/.rvm/gems/ruby-2.2.3/gems/sass-3.4.23/lib/sass/scss/parser.rb:1137:in `expected’ /Users/mac/.rvm/gems/ruby-2.2.3/gems/sass-3.4.23/lib/sass/scss/parser.rb:42:in `parse’ /Users/mac/.rvm/gems/ruby-2.2.3/gems/sass-3.4.23/lib/sass/engine.rb:406:in `_to_tree’ /Users/mac/.rvm/gems/ruby-2.2.3/gems/sass-3.4.23/lib/sass/engine.rb:281:in `render’ /Users/mac/.rvm/gems/ruby-2.2.3/gems/sprockets-3.7.1/lib/sprockets/sass_compressor.rb:48:in `call’ /Users/mac/.rvm/gems/ruby-2.2.3/gems/sprockets-3.7.1/lib/sprockets/sass_compressor.rb:28:in `call’ /Users/mac/.rvm/gems/ruby-2.2.3/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:75:in `call_processor’ /Users/mac/.rvm/gems/ruby-2.2.3/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:57:in `block in call_processors’ /Users/mac/.rvm/gems/ruby-2.2.3/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:56:in `reverse_each’ 如何找出发生错误的文件? 即使有–trace也没告诉我。

Rails – 2种用户类型的应用程序设计

我在rails应用程序上写ruby,它将有2种不同类型的用户(让我们说卖家和买家)。 我正在考虑使用单表inheritance,但最终我决定创建两个独立的模型(我认为这是我的情况下更好的解决方案)。 问题是当我尝试创建私人消息模型时(卖家和买家都可以互相联系)。 通常我只生成带有3个字段的模型称为消息(from_user_id to_user_id和content)。 这在我的情况下不起作用,因为可能有2个用户具有相同的ID(1个卖家和1个买家)。 我正在考虑使用电子邮件来识别发件人和收件人,但电子邮件不是我的主要密钥,所以我想我将无法在邮件模型中使用它作为外键。 哦 – 顺便说一下,确保电子邮件在卖家和买家表中都是独一无二的最佳方法是什么(换句话说,用户不能通过一封电子邮件作为卖家和买家加入) 我有什么想法可以优雅地解决我的问题?

Rails关联 – 如何为不同类型的用户设置关联?

我正在创建一个由学校,课程,学生和教师组成的网络应用程序。 学校可以有很多课程,课程有一个老师和很多学生。 我遇到的问题是,单个用户可能是一门课程的老师,而是另一门课程的学生(甚至是不同学校课程中的学生或教师)。 我不想为教师创建模型,也不想为学生创建单独的模型,因为我想在一个地方跟踪所有用户。 有一个登记表,列出了哪些用户在课程中注册为学生。 我想做类似以下的事情: class School < ActiveRecord::Base has_many :courses has_many :students :through enrollments has_many :teachers :through courses end class Course < ActiveRecord::Base has_one :teacher belongs_to :school has_many :students :through enrollments end class User < ActiveRecord::Base has_many :courses has_many :schools end 但是,如果我只有一个用户表而不是两个单独的学生和教师表,这将无法正常工作。 相反,我必须做类似的事情 class School < ActiveRecord::Base has_many :users [that are teachers] has_many […]

为什么在控制台中不返回Active Record关系?

我终于开始将我的Rails应用程序从2.3.8升级到3.1.0。 我正在观看关于Active Record查询的RailsCasts( http://railscasts.com/episodes/202-active-record-queries-in-rails-3 )。 当我打开控制台(rails c)并执行与此类似的查询时: articles = Article.order(“name”) 我没有返回Active Record关系,而是看到了执行的查询。 我在这做错了什么? Rails版本:3.1.0 RVM on 1.9.2 谢谢您的帮助! 编辑:我添加了示例中的屏幕截图。

Delayed_job(2.1.4)错误:作业无法加载:需要IO实例。 处理者无

我创建了一个简单的成就系统,并想引入delayed_job(2.1.4)来处理。 但是,delayed_jobs表中的处理程序列始终为nil,这会导致last_error文本: Job failed to load: instance of IO needed. Handler nil Job failed to load: instance of IO needed. Handler nil 这是我的设置: 成就观察员 class AchievementObserver < ActiveRecord::Observer observe User, Comment, … def after_create(record) # initiate delayed job to check conditions Delayed::Job.enqueue(TrophyJob.new(record.id, record.class.name)) end … end 奖杯工作 class TrophyJob < Struct.new(:record_id, :record_type) def perform case […]

ActiveModel :: SecurePassword未定义方法`password_digest =’

我尝试按照http://bcardarella.com/post/4668842452/exploring-rails-3-1-activemodel-securepassword使用rails 3.1 ActiveModel :: SecurePassword 我最后得到了红灯…… user.rb class User { :on => :create } end factory.rb Factory.define :user do |f| f.email “foo@bar.com” f.password “foobar” f.password_confirmation { |u| u.password } end spec_user.rb describe User do it “should authenticate with matching username and password” do user = Factory(:user, :email => ‘frank@gmail.com’, :password => ‘secret’) User.authenticate(‘frank@gmail.com’, ‘secret’).should == […]

Rails 3.1在视图中使用iframe使布局停止渲染

所以我有一个基本的布局文件: 和任何正常的HTML一样好。 但是,如果我将这样的iframe添加到视图中: 当我渲染页面时,所有内容都会呈现,直到iframe,但是yield之后的页脚内容不会呈现。 有没有人遇到过这个? 编辑:正如其中一个答案所指出的那样(谢谢!),我在最初的问题中的屈服声明是错误的。 我的代码中的yield语句是正确的,但是当转移到stackoverflow时这是一个错字。 注意:如果您尝试复制iframe正在使用jquery mobile。

如何救援exception中心和DRY?

我有一个例外,在约20个单独的地方产生。 它可以在每个地方轻松地以相同的方式获救,但这不是干燥和放弃治疗工作! 我想在中心位置拯救这个例外。 我怎么安排这个? 它顺便说一下ActiveRecord::RecordNonUniqueexception,……

在Rails 3.1生产模式中找不到预编译的CSS

当我在生产模式下启动rails时,它会预编译所有资产,但无法提供application.css资产。 我查看了public/assets ,预编译的application.css存在。 但是,每当我尝试从页面访问它时,我都会收到404。 这些是我用来启动服务器的说明,如果这可能有用的话。 RAILS_ENV=production bundle exec rake assets:clean RAILS_ENV=production bundle exec rake assets:precompile rails -e production

在代码的其他地方设计渲染符号=> up / in form partials

我刚开始使用Devise和Rails3。 我有认证,工作和理解基础知识。 截至目前在我的家庭控制器中代表我的家庭/首页我有两个链接,一个链接到Register => sign_up,另一个根据login / logout => sign_in / sign_out而变化。 但是,我不想将我的用户重定向到登录页面。 相反,我想在我的首页上显示我的登录表单。 所以我将devise/session/new模板int分离到视图和_form.html.erb部分。 现在,在我的主视图中,我将登录表单呈现为: Welcome: () ‘delete’ %> // Rendering the partial here 这是部分代码: resource_name, :url => session_path(resource_name)) do |f| %> true %> 我的错误如下: NameError in Home#index Showing devise/sessions/_form.html.erb where line #1 raised: undefined local variable or method `resource’ for #<#:0x6157ff8> Extracted source (around […]