Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 我是否可以在不使用“新建”和“创建”操作的情况下设置默认值,并使用“编辑”和“更新”操作直接对其进行编辑?_Ruby On Rails_Ruby On Rails 3_Ruby On Rails 3.2 - Fatal编程技术网

Ruby on rails 我是否可以在不使用“新建”和“创建”操作的情况下设置默认值,并使用“编辑”和“更新”操作直接对其进行编辑?

Ruby on rails 我是否可以在不使用“新建”和“创建”操作的情况下设置默认值,并使用“编辑”和“更新”操作直接对其进行编辑?,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.2,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.2,我有一个用户模型和一个问题模型。每个用户有一个问题,每个问题属于一个用户。问题模型有三列-问题一、问题二和问题三-每个列都设置为字符串“TBD”的默认值 当用户创建帐户并登录时,我希望在其个人资料上显示问题和回答=“TBD”,然后使用Best in place,我希望他能够使用编辑和更新操作编辑他的回答。但是我无法使用user.question.questionone检索问题,因为它们是零,因为这里没有创建或新操作。我该怎么做呢?现在,您可以编写一个迁移,在创建问题时添加默认问题 class C

我有一个用户模型和一个问题模型。每个用户有一个问题,每个问题属于一个用户。问题模型有三列-问题一、问题二和问题三-每个列都设置为字符串“TBD”的默认值


当用户创建帐户并登录时,我希望在其个人资料上显示问题和回答=“TBD”,然后使用Best in place,我希望他能够使用编辑和更新操作编辑他的回答。但是我无法使用
user.question.questionone
检索问题,因为它们是零,因为这里没有创建或新操作。我该怎么做呢?

现在,您可以编写一个迁移,在创建问题时添加默认问题

class ChangeDefaultQuestions < ActiveRecord::Migration
  def self.up
    change_column :questions, :question_one,   :string, :default => 'What is your name?'
    change_column :questions, :question_two,   :string, :default => 'How old are you?'
    change_column :questions, :question_three, :string, :default => 'Where do you live'

    # to add default questions to previously created questions
    Questions.update_all({ :question_one => 'your qestion', :question_two => 'your question', :question_three => 'your question' })
  end

  def self.down
    change_column :movies, :rating, :string, :default => nil
    Questions.update_all({ :question_one => '', :question_two => '', :question_three => '' })
  end
end
class ChangeDefaultQuestions“您叫什么名字?”
更改列:questions,:question\u two,:string,:default=>“你多大了?”
更改列:questions,:question三,:string,:default=>“你住在哪里”
#将默认问题添加到以前创建的问题
问题。更新所有问题({:问题一=>'你的问题',:问题二=>'你的问题',:问题三=>'你的问题')
结束
def自动关闭
更改列:movies,:rating,:string,:default=>nil
问题。更新所有({:问题一=>'',问题二=>'',问题三=>'})
结束
结束

我相信它会回答您的问题

在这里,您可以编写一个迁移,在创建问题时添加默认问题

class ChangeDefaultQuestions < ActiveRecord::Migration
  def self.up
    change_column :questions, :question_one,   :string, :default => 'What is your name?'
    change_column :questions, :question_two,   :string, :default => 'How old are you?'
    change_column :questions, :question_three, :string, :default => 'Where do you live'

    # to add default questions to previously created questions
    Questions.update_all({ :question_one => 'your qestion', :question_two => 'your question', :question_three => 'your question' })
  end

  def self.down
    change_column :movies, :rating, :string, :default => nil
    Questions.update_all({ :question_one => '', :question_two => '', :question_three => '' })
  end
end
class ChangeDefaultQuestions“您叫什么名字?”
更改列:questions,:question\u two,:string,:default=>“你多大了?”
更改列:questions,:question三,:string,:default=>“你住在哪里”
#将默认问题添加到以前创建的问题
问题。更新所有问题({:问题一=>'你的问题',:问题二=>'你的问题',:问题三=>'你的问题')
结束
def自动关闭
更改列:movies,:rating,:string,:default=>nil
问题。更新所有({:问题一=>'',问题二=>'',问题三=>'})
结束
结束

我相信它会回答您的问题

当创建新用户时,它还没有相关的问题,所以您需要以某种方式构建它。常见的方法是在创建之前使用ActiveRecord回调
,或者在创建之后使用ActiveRecord回调
,类似于

# user.rb
class User << ActiveRecord::Base
  has_one      :question
  after_create :create_question
end
#user.rb

类User创建新用户时,它还没有关联的问题,所以您需要以某种方式构建它。常见的方法是在创建之前使用ActiveRecord回调
,或者在创建之后使用ActiveRecord回调
,类似于

# user.rb
class User << ActiveRecord::Base
  has_one      :question
  after_create :create_question
end
#user.rb
类用户
#User.rb
类用户
#User.rb
类用户