小编sam*_*452的帖子

Rails3 form_for hidden_​​field undefined方法'merge'

我试图将一个hidden_​​field放在一个form_for中,在一个ActionView助手错误中崩溃.还有一些关于FixNum的东西,因为我没有挖掘源代码,因此逃脱了我.我的price_controller显示了这个:

 @price = Price.new
  @commodity = Commodity.find(params[:id])
Run Code Online (Sandbox Code Playgroud)

我想用这个hidden_​​field建立价格和商品之间的联系:

 <%= form_for (@price), :url => prices_path  do |f| %>
  <% f.hidden_field :commodity_id, @commodity.id %>
 .
 .
 <div class="actions">
 <%= f.submit "Submit" %>
   </div>
Run Code Online (Sandbox Code Playgroud)

看看form_for api,上面应该可行.阅读stackoveflow上的其他回复,我已将hidden_​​field放在表单中的自己的div中,添加了一个Hidden_​​field_tag,并将其放在提交行之前的actions div中.看看合并消息,我猜它不喜欢这条线,但对我来说似乎没问题.commodity_id字段是匹配字段,sam

cucumber ruby-on-rails-3 capybara-webkit

14
推荐指数
1
解决办法
5120
查看次数

rails 3 postgreSQL基本'数据库不存在'

好的,我正在构建我的第一个rails 3.0应用程序,并希望在我的开发机器(运行10.6)上测试postgreSQL服务器作为生产.当您创建新应用程序并rake db:migrate时,它会为所有三种环境创建sqlite db.凉.现在我想学习如何转向生产和使用postgres.我用自制软件来安装postgres,安装了pg (env ARCHFLAGS="-arch x86_64" gem install pg)postgres-pr gems.

我运行rake db:migrate希望与sqlite3一样,它会自动构建我的生产服务器,因为我已经更新了我的database.yml(见下文).

好的,在我的应用程序的文件夹中,我使用' rails s --environment=production' 重新启动服务器,它说它无法找到我的生产数据库.

所以谷歌搜索'rails 3 postgres install'让我走得这么远,但我似乎错过了一些东西,因为rails无法创建新的pg数据库.

postgres正在运行,由ps决定.

createdb -Omysuperusername -Eutf8 vitae_production
createdb -Omysuperusername -Eutf8 /Users/sam/apps/vitae/db/vitae_production
Run Code Online (Sandbox Code Playgroud)

但是这个目录没有这个数据库所以我错过了什么.我在俯瞰什么?

这是我的database.yml片段:

production:
  adapter: postgresql
  host: localhost
  database: db/vitae_production
  pool: 5
  timeout: 5000
  username: mysuperusername
  password:
Run Code Online (Sandbox Code Playgroud)

postgresql ruby-on-rails ruby-on-rails-3

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

如何在rails控制台中查找数据库名称

这很奇怪.在我的Rails 4 database.yml中,我有以下内容:

development:
  adapter: postgresql
  encoding: unicode
  database: inspector_development
  password: 
  pool: 5
Run Code Online (Sandbox Code Playgroud)

我从Heroku复制了生产数据库,并使用此表单将其导入到Postgresql的本地副本中

curl -o latest.dump `heroku pgbackups:url --account personal`
pg_restore --verbose --clean --no-acl --no-owner -h localhost -U sam -d inspector_development latest.dump
Run Code Online (Sandbox Code Playgroud)

结果显示,在osx上的inspector_development数据库中,PGadmin中的88个预期用户.但是,即使重新启动rails应用程序,User表仍然只显示一个用户,而不是我在PGadmin中看到的88.

我已经google了如何确定Rails看到的数据库名称的属性,以确定它在哪里找到这些不存在的记录?

仔细查看PGadmin中的User表,我看到零列.也许PGadmin错了?我无法确定db Rails正在寻找的位置,以便我可以解决这个问题,thx,sam

postgresql ruby-on-rails-4

10
推荐指数
1
解决办法
7348
查看次数

rails production'css未预编译'

我在Leopard网络服务器上使用生产的姐妹Rails 3.1应用程序完成了这个.所以我没想到会丢失部署这个应用程序.我已经让Passenger认出了应用程序,但我在apache中遇到了'[GET /] miss'错误.环顾四周我认为我可以在webrick中运行这个以查看是否可以隔离问题.

bundle exec rake assets:预编译RAILS_ENV =生产

但是当我加载localhost:3000时,我得到"blueprint/screen.css未预编译"

我开始比较姐妹应用程序之间的差异,但找不到它们.以下是他们分享的一些关键代码:

<%= stylesheet_link_tag "application" %>
  <%= javascript_include_tag "application" %> #in app/views/layouts/application.html.erb

config/environments/production.rb
config.consider_all_requests_local       = false
  config.action_controller.perform_caching = true
config.serve_static_assets = false
config.assets.precompile += %w( search.js )
  config.assets.precompile += %w( blueprint/screen.css blueprint/print.css )
  config.assets.precompile += %w( *.css *.js )
Run Code Online (Sandbox Code Playgroud)

这发生在3.1.0和3.1.3中,我可以确认预编译发生在蓝图目录中.我在俯视什么?,山姆

ruby-on-rails-3

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

在RVM环境中的Ruby cron作业中找不到宝石

我正在尝试在RVM环境中运行10.5的旧PPC机器上运行一个简单的ruby脚本.

搜索SO,我按照这篇文章中选择的答案.

这是cron中的行:

SHELL=/bin/bash
00 * * * * BASH_ENV=~/.bash_profile && /bin/bash -c '~/deggy/onlineGW.rb'
Run Code Online (Sandbox Code Playgroud)

这个命令在用户山姆根的Bash中运行良好.

这是我的脚本的重要部分:

 #!/usr/bin/env ruby
 require 'open-uri'
 require 'nokogiri'
 ...
Run Code Online (Sandbox Code Playgroud)

这是来自cron的错误输出:

 X-Cron-Env: <SHELL=/bin/bash>
 X-Cron-Env: <PATH=/usr/bin:/bin>
 X-Cron-Env: <LOGNAME=sam>
 X-Cron-Env: <USER=sam>
 X-Cron-Env: <HOME=/Users/sam>
 Date: Mon,  6 Jan 2014 03:15:00 -0600 (CST)
 /Users/sam/deggy/onlineGW.rb:3:in `require': no such file to load -- nokogiri (LoadError)
Run Code Online (Sandbox Code Playgroud)

好的,因为我正在运行RVM,我已将默认ruby设置为1.9.3,如上所述,该命令在终端中执行,但不在cron中执行.还有其他环境吗?

很明显,我忽略了一些东西.山姆,请帮我看看

ruby macos cron powerpc rvm

6
推荐指数
2
解决办法
3559
查看次数

rspec上的Ruby分段错误

这真的很奇怪.我在这个Rails 3.2.11应用程序中做得很好,之前运行了rspec这是我创建了一个新的分支,更改了一个文件,已经提交,并且当我遇到大量的Segmentation错误和堆栈跟踪时,运行了rspec spec /正如我所见.

我已经更新了rvm并尝试安装早期版本的ruby 1.9.3.我一直挂在原始宝石上,并通过重新启动来保护.重新启动OS X 10.8.3后,我能够干净地安装ruby 1.9.3-p429.但是rspec仍然保释.完整的堆栈跟踪是https://gist.github.com/sam452/5808849.因为它们被清理干净,所以我已经捆绑了宝石.我还尝试再次运行rspec生成器,但它似乎只覆盖了一个支持文件.铁路,耙子,黄瓜似乎运行正常.Rake在进入rspec命令时失败.

我试图从堆栈跟踪中提取看似相关的部分:

    Happenstance:tickat sam$ rspec spec/
/Users/sam/.rvm/gems/ruby-1.9.3-p429/gems/better_errors-0.8.0/lib/better_errors/core_ext/exception.rb:9: [BUG] Segmentation fault
ruby 1.9.3p429 (2013-05-15 revision 40747) [x86_64-darwin12.3.0]
Run Code Online (Sandbox Code Playgroud)

控制帧信息

c:0064 p:---- s:0204 b:0204 l:000203 d:000203 CFUNC  :callers
c:0063 p:0064 s:0201 b:0201 l:000290 d:0026c0 LAMBDA /Users/sam/.rvm/gems/ruby-1.9.3-p429/gems/better_errors-0.8.0/lib/better_errors/core_ext/exception.rb:9
c:0062 p:---- s:0198 b:0198 l:000197 d:000197 FINISH
Run Code Online (Sandbox Code Playgroud)

Ruby级别回溯信息

/Users/sam/.rvm/gems/ruby-1.9.3-p429/gems/rspec-core-2.13.1/lib/rspec/core/runner.rb:17:in `block in autorun'
/Users/sam/.rvm/gems/ruby-1.9.3-p429/gems/rspec-core-2.13.1/lib/rspec/core/runner.rb:80:in `run'
/Users/sam/.rvm/gems/ruby-1.9.3-p429/gems/rspec-core-2.13.1/lib/rspec/core/command_line.rb:22:in `run'
/Users/sam/.rvm/gems/ruby-1.9.3-p429/gems/rspec-core-2.13.1/lib/rspec/core/configuration.rb:819:in `load_spec_files'
/Users/sam/.rvm/gems/ruby-1.9.3-p429/gems/rspec-core-2.13.1/lib/rspec/core/configuration.rb:819:in `each'
/Users/sam/.rvm/gems/ruby-1.9.3-p429/gems/rspec-core-2.13.1/lib/rspec/core/configuration.rb:819:in `block in load_spec_files'
/Users/sam/.rvm/gems/ruby-1.9.3-p429/gems/rspec-core-2.13.1/lib/rspec/core/configuration.rb:819:in `load'
/Users/sam/apps/tickat/spec/controllers/admin/events_controller_spec.rb:1:in `<top (required)>'
Run Code Online (Sandbox Code Playgroud)

C级回溯信息

   See Crash Report log file under ~/Library/Logs/CrashReporter …
Run Code Online (Sandbox Code Playgroud)

ruby rspec-rails ruby-on-rails-3

5
推荐指数
2
解决办法
4787
查看次数