嘗試根據用戶輸入到成員資格表中的名稱(new.html.erb)爲用戶創建成員資格時出現問題。正確創建用戶和組之間的聯接操作
user.rb
has_many :memberships, :dependent => :destroy
has_many :groups, :through => :memberships
membership.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 %>
我希望它做的是找到組輸入,如果它存在,並建立在成員表項表格。只是不知道我在做什麼是正確的。有什麼建議麼?
有什麼問題你的代碼?日誌中是否有錯誤? – Brandan 2012-02-08 04:27:39
它沒有從組表找到group_id。給我一個錯誤「未定義的方法'group_id'爲零:NilClass」。我不知道這是一個問題,或者在控制器 – Norto23 2012-02-08 04:46:25