Rails 3 создает вложенные объекты по умолчанию - PullRequest
1 голос
/ 27 сентября 2011

У меня есть форма, в которой пользователь регистрируется и создает учетную запись, пользователя и веб-сайт.

def new
  @account = Account.new
  @account.users.build
  @account.websites.build
  ...
end

def create
  @account = Account.new(params[:account])
  ...

Все отлично работает. Теперь я хочу создать страницу по умолчанию с Page.title = "homepage" и Page.body = "".

Как я могу это сделать? Я пробовал разные варианты, и это не работает. Например, я делаю это @account.websites.pages.build и получаю это undefined method pages for []:ActiveRecord::Relation.

1 Ответ

1 голос
/ 07 октября 2011

Коллекция, возвращаемая @account.websites, является массивом, rails не может интуитивно понять, на каком члене коллекции вы пытаетесь создать связанный объект ... Вам нужно указать, для какого веб-сайта вы хотите создать страницу. т.е.

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