Questions tagged «ruby-on-rails»

Ruby on Rails是一个用Ruby编写的开源全栈Web应用程序框架。它遵循流行的MVC框架模型,并以其“配置之上的约定”方法进行应用程序开发而闻名。

4
Gem:Module的未定义方法`source_index'(NoMethodError)
我正在运行Rails 2.3.5应用程序,并且在运行脚本/服务器时显示以下内容: ./script/../config/../vendor/rails/railties/lib/rails/gem_dependency.rb:21:in `add_frozen_gem_path': undefined method `source_index' for Gem:Module (NoMethodError) from ./script/../config/boot.rb:60:in `load_initializer' from ./script/../config/boot.rb:44:in `run' from ./script/../config/boot.rb:17:in `boot!' from ./script/../config/boot.rb:123 from script/server:2:in `require' from script/server:2 如果我在boot.rb(Rails :: GemDependency.add_frozen_gem_path)中注释掉第60行并运行脚本/服务器,则会得到以下信息: => Booting WEBrick => Rails 2.3.5 application starting on http://0.0.0.0:3000 ./script/../config/../vendor/rails/railties/lib/rails/gem_dependency.rb:21:in `add_frozen_gem_path': undefined method `source_index' for Gem:Module (NoMethodError) from ./script/../config/../vendor/rails/railties/lib/initializer.rb:298:in `add_gem_load_paths' …


14
Rails 3:获取随机记录
因此,我找到了一些在Rails 2中查找随机记录的示例-首选方法似乎是: Thing.find :first, :offset => rand(Thing.count) 作为新手,我不确定如何在Rails 3中使用新的find语法来构造它。 那么,查找随机记录的“路轨3种方式”是什么?

8
所有的Ruby测试提高:nil:NilClass的未定义方法“ authenticate”
我的大部分测试都提出了以下问题,但我不明白为什么。所有方法调用都会引发“身份验证”错误。我已经检查了代码中是否存在一种称为“ authenticate”的方法,但是没有这种方法。 1) Admin::CommentsController handling GET to index is successful Failure/Error: get :index undefined method `authenticate!' for nil:NilClass # ./spec/controllers/admin/comments_controller_spec.rb:9:in `block (3 levels) in <top (required)>' 124) PostsController handling GET for a single post should render show template Failure/Error: get :show, :year => '2008', :month => '01', :day => '01', …


14
Rails 3:“有错误的字段”包装器更改页面外观。如何避免这种情况?
电子邮件字段: <label for="job_client_email">Email: </label> <input type="email" name="job[client_email]" id="job_client_email"> 看起来像这样: 但是,如果电子邮件验证失败,它将变为: <div class="field_with_errors"> <label for="job_client_email">Email: </label> </div> <div class="field_with_errors"> <input type="email" value="wrong email" name="job[client_email]" id="job_client_email"> </div> 看起来像这样: 如何避免这种外观变化?

3
何时在Rails的表中添加什么索引
我对Rails数据库有疑问。 我应该在所有外键(例如“ xxx_id”)上添加“ index”吗? 我应该在自动创建的“ id”列中添加“ index”吗? 我应该在自动创建的“ id”列中添加“ index(unique)”吗? 如果我一次将索引添加到两个外键(add_index (:users, [:category, :state_id]),会发生什么呢?与为每个键添加索引有何不同? class CreateUsers < ActiveRecord::Migration def self.up create_table :users do |t| t.string :name t.integer :category_id t.integer :state_id t.string :email t.boolean :activated t.timestamps end # Do I need this? Is it meaningless to add the index to the …

5
Ruby%r {}表达式
在模型中有一个领域 validates :image_file_name, :format => { :with => %r{\.(gif|jpg|jpeg|png)$}i 对我来说看起来很奇怪。我知道这是一个正则表达式。但我想: 知道到底是什么意思。是%r{value}等于/value/? 能够用普通的Ruby regex运算符/some regex/或替换它~=。可能吗?

11
如何使用Git分支和Rails迁移
我正在使用具有许多git分支的Rails应用程序,其中许多分支包括数据库迁移。我们尝试要小心,但有时master上的某些代码要求在另一分支中删除/重命名的列。 将git分支与DB状态“耦合”在一起的最佳解决方案是什么? 这些“状态”实际上是什么? 如果数据库大小只有几个GB,我们就不能复制数据库。 合并应该发生什么? 该解决方案也可以转换为noSQL数据库吗? 我们目前使用MySQL,mongodb和redis 编辑:看来我忘了提到一个非常重要的观点,我只对开发环境感兴趣,但是对大型数据库(大小为几GB)感兴趣。

6
如何在未经验证的情况下更新属性
我有一个带有验证的模型,我发现如果不先验证对象就无法更新属性。 我已经尝试on => :create在每个验证行的末尾添加语法,但是得到的结果相同。 我的公告模型具有以下验证: validates_presence_of :title validates_presence_of :description validates_presence_of :announcement_type_id validate :validates_publication_date validate :validates_start_date validate :validates_start_end_dates validate :validates_category validate :validates_province validates_length_of :title, :in => 6..255, :on => :save validates_length_of :subtitle, :in => 0..255, :on => :save validates_length_of :subtitle, :in => 0..255, :on => :save validates_length_of :place, :in => 0..50, …


10
AngularJS-每个路由和控制器中的登录和身份验证
我有一个使用yeoman,grunt和bower创建的AngularJS应用程序。 我有一个登录页面,该页面具有用于检查身份验证的控制器。如果凭据正确,我将重新路由到主页。 app.js 'use strict'; //Define Routing for app angular.module('myApp', []).config(['$routeProvider', '$locationProvider', function($routeProvider,$locationProvider) { $routeProvider .when('/login', { templateUrl: 'login.html', controller: 'LoginController' }) .when('/register', { templateUrl: 'register.html', controller: 'RegisterController' }) .when('/forgotPassword', { templateUrl: 'forgotpassword.html', controller: 'forgotController' }) .when('/home', { templateUrl: 'views/home.html', controller: 'homeController' }) .otherwise({ redirectTo: '/login' }); // $locationProvider.html5Mode(true); //Remove …


5
NoMethodError:升级到Rake 11后未定义的方法“ last_comment”
运行任何rake任务时,我得到: NoMethodError:未定义的方法“ last_comment” 之后bundle update,引入了新版本的rake版本11.0.1。 $ grep rake Gemfile.lock rake rake (>= 0.8.7) rake (11.0.1) rake $ bundle update $ bundle exec rake db:drop # any rake task NoMethodError:#<Rake :: Application:0x007ff0cf37be38>的未定义方法`last_comment' 版本号 导轨3.2.11 耙11.0.1


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.