标签: ruby-on-rails-2

Rails ActiveRecord之间的日期

我需要查询一天内发表的评论.该字段是标准时间戳的一部分,是created_at.所选日期来自date_select.我如何使用ActiveRecord来做到这一点?

我需要像这样的东西:

"SELECT * FROM comments WHERE created_at BETWEEN '2010-02-03 00:00:00' AND '2010-02-03 23:59:59'"
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-2 rails-activerecord

160
推荐指数
8
解决办法
15万
查看次数

Gem的未定义方法`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
Run Code Online (Sandbox Code Playgroud)

如果我在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'
    from ./script/../config/../vendor/rails/railties/lib/initializer.rb:132:in `process'
    from ./script/../config/../vendor/rails/railties/lib/initializer.rb:113:in `send'
    from ./script/../config/../vendor/rails/railties/lib/initializer.rb:113:in `run'
    from /home/developer/bigpink/config/environment.rb:13
    from /home/developer/bigpink/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
    from /home/developer/bigpink/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
    from /home/developer/bigpink/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in'
    from /home/developer/bigpink/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
    from /home/developer/bigpink/vendor/rails/railties/lib/commands/server.rb:84
    from script/server:3:in `require'
    from script/server:3 …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-2

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

无法访问`database.yml`文件中的环境变量

我有以下development.yml文件的开发部分:

development:
  adapter: postgresql
  host: localhost
  database: testtb
  username: app_user
  password: ENV['APP_USER_POSTGRES_PASSWORD']     <= Troublesome line
Run Code Online (Sandbox Code Playgroud)

当我打开一个rails控制台bundle exec rails console并键入时,ENV['APP_USER_POSTGRES_PASSWORD']我会回到我在本地配置文件中指定的数据库密码.但是,当我启动我的rails服务器时,它无法连接到数据库,失败了

PGError FATAL:  password authentication failed for user "app_user"
Run Code Online (Sandbox Code Playgroud)

这是以前的工作,当我用纯文本输入数据库密码,而不是试图通过它来访问它ENV['...'],但出于显而易见的原因,我想完全保留这个文件的实际密码(因此在代码库之外)同时仍然能够对文件进行其他非安全更改database.yml.

我缺少的语法有什么特别之处,或者database.yml在加载文件时由于某种原因环境变量不可用?

yaml ruby-on-rails environment-variables ruby-on-rails-2

64
推荐指数
2
解决办法
2万
查看次数

使用可选参数进行路由

我在路径文件中添加了:

map.show_book "/show_book/:name/year/:year", :controller => "book", :action => "show_version"
Run Code Online (Sandbox Code Playgroud)

我还补充说:

map.show_book "/show_book/:name", :controller => "book", :action => "show_version"
Run Code Online (Sandbox Code Playgroud)

显示最新的书而不指定年份.

但它不起作用,如果我没有过年,它就无法在"show_book/NAME"中找到路线.

你有一些想法为什么它不起作用?

谢谢 !

PS.我知道我可以使用year作为"?year = XXXX"的参数,但我想将年份用作URL的一部分

routing ruby-on-rails rails-routing ruby-on-rails-2

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

我如何检查rails 2上ruby中的对象是否为null?

我想检查我的对象何时@objectname不等于null以显示@objectnameelse 的值以显示未找到任何值.

我试过这个:

<% if (@objectname != null) then %>
Run Code Online (Sandbox Code Playgroud)

但我收到了一个错误.

ruby ruby-on-rails ruby-on-rails-2

41
推荐指数
4
解决办法
11万
查看次数

Rails 2.3.11 - 仅在创建时验证

我正在尝试让我的自定义验证工作create.但是,当我做了find,然后save,轨道把它当作create和运行自定义验证.如何在仅在更新找到的记录时创建新记录时才能获得验证?

ruby-on-rails ruby-on-rails-2

33
推荐指数
2
解决办法
2万
查看次数

Rails 2:当id 1不存在时,Model.find(1)给出ActiveRecord错误

我正在使用Rails 2.3.5,如果我给出Model.find(1),如果1不在数据库中,则返回ActiveRecord错误.它应该nil像在案件中一样返回Model.find_by_column('..')吗?

ruby-on-rails ruby-on-rails-2

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

如何在rails会话中清除ruby中的单个条目?

在ruby on rails中,在执行session[:foo] = nil它时会留下:foo在会话对象中命名的条目.如何从会话对象中删除单个条目?

session ruby-on-rails-2

28
推荐指数
2
解决办法
2万
查看次数

Rails Flash.now不工作

我有一个视图,我从中向控制器发出ajax请求,并在操作成功完成后初始化flash.now [:notice].但在控制回到视图之后.我没碰巧看到flash消息.

flash.now[:notice] = "Request Completed successfully" if @meetings.any?
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-2

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

mysql2.so:libmysqlclient_r.so.15:无法打开共享对象文件:没有这样的文件或目录

我正在尝试使用Ubuntu 10.04服务器,sphinx,myql2版本0.2.7和percona服务器5.5(Myslql 5.5)运行Rails两个应用程序.irb中的mysql2工作正常,我可以连接到db.这个rails 2应用程序正在另一个带有MySql 5.1的Centos服务器上运行.当我跑:

script/server -e production 
Run Code Online (Sandbox Code Playgroud)

我明白了:

mysql2.so:libmysqlclient_r.so.15:无法打开共享对象文件:没有这样的文件或目录

这是我的libs:

# ls -l /usr/lib |grep sql
-rw-r--r--  1 root root 10581008 2011-11-18 16:51 libmysqlclient.a
lrwxrwxrwx  1 root root       16 2011-12-10 05:48 libmysqlclient_r.a -> libmysqlclient.a
lrwxrwxrwx  1 root root       20 2011-12-10 05:48 libmysqlclient.so -> libmysqlclient.so.16
lrwxrwxrwx  1 root root       29 2011-12-10 06:01 libmysqlclient.so.15 -> /usr/lib/libmysqlclient.so.16
-rw-r--r--  1 root root     7332 2011-11-18 16:44 libmysqlservices.a
-rw-r--r--  1 root root   562520 2010-02-08 06:59 libsqlite3.a
-rw-r--r--  1 root root      973 2010-02-08 06:59 libsqlite3.la
lrwxrwxrwx …
Run Code Online (Sandbox Code Playgroud)

mysql ubuntu libmysql mysql2 ruby-on-rails-2

24
推荐指数
2
解决办法
4万
查看次数