Доступ к идентификатору в только что построенном объекте - PullRequest
0 голосов
/ 02 июля 2010

У меня есть приложение rails, где у меня есть кластеры и пользователи в отношении принадлежащих к 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 Ответ

6 голосов
/ 02 июля 2010

Метод build инициализирует новый объект ActiveRecord, но не сохраняет его в базе данных; обычно атрибут id устанавливается только после сохранения записи (при условии, что это стандартный первичный ключ автоинкремента). Вы, вероятно, хотите использовать create вместо build.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...