在刚刚构建的对象中访问id

时间:2010-07-02 05:13:20

标签: ruby-on-rails ruby

我有一个rails应用程序,我有一个belongs_to has_many关系的群集和用户。

在cluster_controller创建方法中,我写道:

@cluster = @current_user.clusters.build(params[:cluster])

现在我想运行一些命令行脚本:

output = `echo cluster#{@cluster.id} > /tmp/out`

......其余功能在这里

我也试过

output = `echo cluster#{@cluster.id.to_s} > /tmp/out`

当我这样做时,文件中只包含群集而不是群集#。为什么这样,我该如何解决?

1 个答案:

答案 0 :(得分:6)

build方法初始化一个新的ActiveRecord对象,但不会将其持久保存到数据库中;通常,id属性仅在保存记录后设置(假设它是标准的自动增量主键)。您可能希望使用create而不是build