0
アプリケーションレールに新しいオブジェクトを作成するために、フォームを送信するとき、私は次のエラーを受信しています:未定義のメソッド `グループ」#のための<メンバー:0x007fadb5222e40>
NoMethodError in MembersController#create
undefined method `group' for #<Member:0x007fadb5222e40>
Application Trace | Framework Trace | Full Trace
app/controllers/members_controller.rb:58:in `block in create'
app/controllers/members_controller.rb:57:in `create'
私のコントローラに問題のメソッドを作成します
def create
@group = Group.find(params[:group_id])
@user = User.find(session[:user_id])
if @user and @group and @group.group_password == params[:password]
@member = Member.new do |m|
m.group_id = @group.id
m.user_id = @user.id
m.slug = @user.username
end
logger.debug("#{ @member.group_id}, #{ @member.user_id}, #{ @member.slug}")
respond_to do |format|
if @member.save
format.html { redirect_to @group, notice: 'Member was successfully created.' }
format.json { render json: @member, status: :created, location: @member }
else
format.html { render action: "new" }
format.json { render json: @member.errors, status: :unprocessable_entity }
end
end
else
redirect_to group_join_url(@group), alert: "Invalid group password"
end
end
エラーに記載されている57行は「respond_to do | format |」です。
そして、ちょうどよい測定のためには、ここに私のメンバーのモジュールです:
class Member < ActiveRecord::Base
extend FriendlyId
friendly_id :slug, :use => :scoped, :scope => :group
attr_accessible :group_id, :slug, :user_id
belongs_to :groups
belongs_to :users
end
すべてのヘルプは大歓迎です。
非常に高く評価されています。スコープは実際のフィールド名:group_idである必要があります。正しい方向に私を指してくれてありがとう。 – bryangm