小编Zac*_*c M的帖子

传递嵌套属性时,"NoMethodError(未定义的方法`with_indifferent_access'for ..."

谷歌搜索了一段时间,没有运气.在传递嵌套属性时,我的Web服务上出现"NoMethodError(未定义方法`with_indifferent_access'"错误.

其他嵌套的工作,它们是一对一的,这是一对多......

class Customer < ActiveRecord::Base

  belongs_to :quote

  has_one :policy, :dependent => :destroy
  has_one :vehicle, :dependent => :destroy
  has_many :claims, :dependent => :destroy
  has_many :incidents, :dependent => :destroy

  accepts_nested_attributes_for :policy
  accepts_nested_attributes_for :vehicle
  accepts_nested_attributes_for :incidents
end
Run Code Online (Sandbox Code Playgroud)

工作正常:

    Processing QuotesController#create to xml (for 127.0.0.1 at 2010-12-12 15:16:33) [POST]
  Parameters: {"quote"=>{"customer_attributes"=>{"address1"=>nil, "city"=>"ggh", "dob"=>nil, "address2"=>nil, "title"=>nil, "country"=>nil, "postcode"=>nil, "vehicle_attributes"=>{"mileage"=>nil, "registration"=>nil, "value"=>nil, "parking"=>nil}, "policy_attributes"=>{"breakdown"=>nil, "windscreen"=>"1", "excess"=>nil}, "telephone"=>nil, "surname"=>nil, "forename"=>"wasdddfggh", "email"=>nil}}}
  [4;35;1mQuote Create (1.0ms)[0m   [0mINSERT INTO "quotes" ("created_at", "updated_at") VALUES('2010-12-12 15:16:33', '2010-12-12 15:16:33')[0m
  [4;36;1mCustomer Create (0.0ms)[0m …
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails

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

使用capistrano重新启动delayed_job时,并不总是创建pid文件

当sshing进入网络服务器时,我可以整天重启delayed_job而不会出现问题.它会关闭现有的worker,启动一个新的worker并将tmp/pids/delayed_job.pid写入其进程ID.(我也在重新启动乘客以模仿我将要使用的capistrano)

app@StagingServer:/app/current$ touch tmp/restart.txt; RAILS_ENV=staging script/delayed_job restart
delayed_job: trying to stop process with pid 22170...
delayed_job: process with pid 22170 successfully stopped.
delayed_job: process with pid 22284 started.
app@StagingServer:/app/current$ touch tmp/restart.txt; RAILS_ENV=staging script/delayed_job restart
delayed_job: trying to stop process with pid 22284...
delayed_job: process with pid 22284 successfully stopped.
delayed_job: process with pid 22355 started.
app@StagingServer:/app/current$ touch tmp/restart.txt; RAILS_ENV=staging script/delayed_job restart
delayed_job: trying to stop process with pid 22355...
delayed_job: process with pid 22355 successfully stopped.
delayed_job: process with pid …
Run Code Online (Sandbox Code Playgroud)

capistrano ruby-on-rails delayed-job ruby-on-rails-3

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