我试图将一个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
好的,我正在构建我的第一个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) 这很奇怪.在我的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
我在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中,我可以确认预编译发生在蓝图目录中.我在俯视什么?,山姆
我正在尝试在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中执行.还有其他环境吗?
很明显,我忽略了一些东西.山姆,请帮我看看
这真的很奇怪.我在这个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)
/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)
See Crash Report log file under ~/Library/Logs/CrashReporter …
Run Code Online (Sandbox Code Playgroud)