Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.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 在RubyonRails中,是否可以在会话的生命周期内使用模型中的存储过程?_Ruby On Rails_Ruby_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 在RubyonRails中,是否可以在会话的生命周期内使用模型中的存储过程?

Ruby on rails 在RubyonRails中,是否可以在会话的生命周期内使用模型中的存储过程?,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我想知道是否可以从模型或控制器运行存储过程,我现在只需要发送需要插入数据库中的参数。。3种不同的型号或表格 现在我所做的是在两个表单完成时触发提交,而不是执行最后一个表单,因为它需要前2个表单的id。对于客户端,可以看到所有三个表单提交的单个表单。 我的单个控制器创建前2个表单的模型对象,然后填充它,它保留它的id,以便稍后使用我的第三个post作为字段值来存储它。。 若你们觉得很难理解我说的话,那个么简单地告诉我存储过程是否可以在Rails中使用 还有一点是,与我们在PHP和.NET中使用的会

我想知道是否可以从模型或控制器运行存储过程,我现在只需要发送需要插入数据库中的参数。。3种不同的型号或表格
现在我所做的是在两个表单完成时触发提交,而不是执行最后一个表单,因为它需要前2个表单的id。对于客户端,可以看到所有三个表单提交的单个表单。
我的单个控制器创建前2个表单的模型对象,然后填充它,它保留它的id,以便稍后使用我的第三个post作为字段值来存储它。。 若你们觉得很难理解我说的话,那个么简单地告诉我存储过程是否可以在Rails中使用


还有一点是,与我们在PHP和.NET中使用的会话生命周期相比,会话生命周期是不同的。我的意思是说set session and destroy它在rails中是不同的,或者和其他技术一样,因为我在PHP中使用的方式不适合我。。就像我有三种形式(联系人、公司和领导)触发/发布到一个控制器(领导),此Lead Controller在第一次发布后通过联系人模型将联系人保存到数据库,而在第二次发布后将公司保存到数据库我想做的是将这些插入的记录ID保存到会话,以便下次或最后在第三次发布时,当Controller尝试将Lead保存到数据库时,其ID应可用保存在数据库中的会话在这里对我并没有帮助,所以我必须使用最后插入的特定记录的ID,如联系人和公司。。通过接受嵌套属性关联,我要求做的事情是不可能的。。。所以,请告诉我会话在Rails中保持值的时间有多长
谢谢

我不确定这是否仍然适用于rails 3,但我想是的。

如果上面的一个不起作用,你也可以看看

请记住,存储过程不是rails的方式

会话是自动启动的(与PHP中必须显式启动的情况不同),您可以使用
session[:my_id]=[1,2,3]
访问它
据我所知,Rails中的会话没有超时。只要用户没有删除cookie,它们就会被存储和使用

也请考虑将答案标记为正确,因为在你的任何问题中你还没有这样做。

< P>根据:

存储过程不是“rails” 方式”。[……]

它们可能不是“轨道”,但 你仍然可以把它们拔下来(至少 在Windows中连接到sqlserver)如果 你真的想通过使用 ActiveRecord::Base.connection.execute() 语句[基本上执行 您传入的原始sql]

class联系人:contact\u company\u profiles
终止
类公司:销毁
有很多:联系公司
终止
班级领导
我要问的是构建。我已经从西蒙那里得到了一个答案
谢谢

我的意思是说set session and destroy它在rails中是不同的,或者和其他技术一样,因为我用PHP的方式来做,它对我不起作用。只是编辑了我的答案。但它与PHP并没有太大区别。您还可以显示一些代码,因为“它不工作”从来都不是一个好的解释;)
class Contact < ActiveRecord::Base
  has_many :leads,
  has_many :contact_company_profiles,
  has_many :companies, :through => :contact_company_profiles
end
class Company < ActiveRecord::Base
  has_many :leads, :dependent => :destroy
  has_many :contact_company_profiles
end
class Lead < ActiveRecord::Base
  belongs_to :contact
  belongs_to :company

  accepts_nested_attributes_for :contact
  accepts_nested_attributes_for :company
end