У меня проблема при попытке создать членство для пользователей на основе имени, которое они вводят в форму членства - new.html.erb.
user.rb
has_many :memberships, :dependent => :destroy
has_many :groups, :through => :memberships
members.rb
class Membership < ActiveRecord::Base
attr_accessible :user_id, :group_id
belongs_to :user
belongs_to :group
end
group.rb
has_many :memberships, :dependent => :destroy
has_many :users, :through => :memberships
членский контроллер
def create
@group = Group.find_by_name(:group)
@membership = current_user.memberships.build(:group_id => @group.group_id)
if @membership.save
flash[:notice] = "You have joined this group."
redirect_to :back
else
flash[:error] = "Unable to join."
redirect_to :back
end
end
членство - _form.html.erb
<%= form_for(@membership) do |f| %>
...
#error validation
...
<div class="field">
<%= f.label :group %><br />
<%= f.text_field :group %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
ЧтоЯ хочу, чтобы это было сделано, чтобы найти введенную группу, если она существует, и создать соответствующую запись в таблице членства.Просто не уверен, что то, что я делаю, на правильном пути.Есть предложения?