2009-10-19 2 views
0

Я пытаюсь сделать это целую вечность и могу, кажется, понять это. надеюсь кто-то может помочь?Запись атрибута в мою таблицу через проверку?

У меня есть модель «сообщение», которая имеет много сквозных связей с моделью «contact_detail».

В основном сообщение может иметь много контактов, связанных с ним, и контакт может иметь много сообщений.

Я могу заставить это работать и сохранить его успешно, но я хочу также иметь атрибут creater на «распределенной» модели, которую я хочу установить в true для создателя сообщения.

моей формы Params следующим образом:

{ "сообщение" => { "сообщение" => "великое сообщение ...", "messagable_id" => "58", "название" => "как ты?", "messagable_type" => "MachineEnquiry", "message_type_id" => "1", "contact_detail_ids" => [ "2", "2", "11", "7"]}, "совершить" => "Отправить сообщение", "DateTime" модель => ""}

'распространяет' имеет контакт _detail_id ', и все это сохраняется, но перед сохранением я хочу установить атрибут create вместе с contact_detail_id.

Я могу так это после сохранения, но я хочу проверить, что создатель создан, поэтому я должен сделать это, прежде чем сохранить dont i? и не уверен, как это сделать.

Любые идеи? надеюсь, кто-то может помочь?

заранее спасибо стога

ответ

0

От того, как вы описали вещи, создатель должен то же самое для каждой записи распределения, связанной с конкретным сообщением. Сделать гораздо больше смысла для сохранения добавить новый столбец и принадлежит к отношению к сообщению.

class Message < ActiveRecord::Base 
    belongs_to :creator, :class_name => "User" # links creator to your User model 
    validates_presence_of :creator_id # ensures creator_id is not empty 

    ... 
end 

Заполнение этого поля из формы так же просто, как добавление

<%= f.hidden_field :creator_id, current_user.id %> 

Если я неправ, полагая, что запись распределения для того же сообщения будут иметь один и тот же создатель, то вы должны смотреть на accepts_nested_attributes_for, чтобы передать детали к родственным моделям из формы.

Смежные вопросы