我有一个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`
当我这样做时,文件中只包含群集而不是群集#。为什么这样,我该如何解决?
答案 0 :(得分:6)
build
方法初始化一个新的ActiveRecord对象,但不会将其持久保存到数据库中;通常,id
属性仅在保存记录后设置(假设它是标准的自动增量主键)。您可能希望使用create
而不是build
。