Странно то, что он устанавливается при обновлении, а не при создании!

аюсь заставить его работать, но это не так!

у меня есть

class User < ActiveRecord::Base
  has_many :events, :through => :event_users
  has_many :event_users
  accepts_nested_attributes_for :event_users
end

class Event < ActiveRecord::Base
  has_many :event_users
  has_many :users, :through => :event_users
  accepts_nested_attributes_for :users
end

class EventUser < ActiveRecord::Base
  set_table_name :events_users
  belongs_to :event
  belongs_to :user
  accepts_nested_attributes_for :events
  accepts_nested_attributes_for :users
end

А также раскладка стола

event_users
  user_id
  event_id
  user_type
events
  id
  name
users
  id
  name

И это моя форма

<%= semantic_form_for @event do |f| %>
  <%= f.semantic_fields_for :users, f.object.users do |f1| %>
    <%= f1.text_field :name, "Name" %>
    <%= f1.semantic_fields_for :event_users do |f2| %>
      <%= f2.hidden_field :user_type, :value => 'participating' %>
    <% end %>
  <% end %>
<%= link_to_add_association 'add task', f, :users %>
<% end %>

Проблема в том, что если я создаю нового пользователя таким образом, он не устанавливает значение user_type (но создает пользователя и event_users с user_id и event_id). Если я вернусь к форме редактирования после создания пользователя и отправлю сообщение, тогда значение user_type устанавливается в events_users. (Я тоже пробовал без formtastic) Есть предложения? Спасибо!

----редактировать----

Я также пытался иметь event_users перед пользователями

<%= semantic_form_for @event do |f| %>
  <%= f.semantic_fields_for :event_users do |f1| %>
    <%= f1.hidden_field :user_type, :value => 'participating' %>
    <%= f1.semantic_fields_for :users do |f2| %>
      <%= f2.text_field :name, "Name" %>
    <% end %>
  <% end %>
<%= link_to_add_association 'add task', f, :event_users %>
<% end %>

но тогда это только выдает мне ошибку:

Ожидается, что пользователь (# 2366531740) получил ActiveSupport :: HashWithIndifferentAccess (# 2164210940)

--редактировать--

link_to_association - это метод formtastic-cocoon (https://github.com/nathanvda/formtastic-cocoon), но я пытался использовать другие подходы, но с тем же результатом

---редактировать----

def create
  @event = Event.new(params[:event])
  respond_to do |format|
    if @event.save
      format.html { redirect_to(@event, :notice => 'Event was successfully created.') }
      format.xml  { render :xml => @event, :status => :created, :location => @event }
    else
      format.html { render :action => "new" }
      format.xml  { render :xml => @event.errors, :status => :unprocessable_entity }                 
    end
  end
end

Ответы на вопрос(2)

Ваш ответ на вопрос