2012-10-22 39 views
0

我有兩個資源A和B,它們之間具有多對多關係。當按下A顯示視圖上的按鈕時,我希望建立A對象和我也可以從視圖中訪問的B對象之間的關係。將按鈕添加到視圖以更新軌道中的模型

你怎麼能在rails3中做到這一點?

編輯:關係的相關片段。在標準使用rails generate scaffold

class Course < ActiveRecord::Base 
    ... 
    has_many :course_auth_users 
    has_many :students, :through => :course_auth_users, :source => :user 
    ... 
end 


class User < ActiveRecord::Base 
    ... 
    has_many :course_auth_users 
    has_many :enrolled_on_courses, :through => :course_auth_users, :source => :course 
    ... 
end 
+0

你能否爲視圖/控制器/模型提供當前代碼的片段? –

+0

@LeoCorrea新增模型,其餘部分是使用腳手架生成的標準。 –

回答

2

產生其他的一切我假設你有一個像這樣

class CourseAuthUser < ActiveRecord::Base 
    belongs_to :user 
    belongs_to :course 
end 

我也假設你的意思是物體A和B已經創建了一個模型。 users控制器應該有增加了課程的列表,像這樣的動作:

class UsersController < ApplicationController 
    def enroll_course 
    @student = User.find(params[:id]) 
    @course = Course.find(params[:course]) 

    @student.enrolled_on_courses << @course 

    @student.save! 
    end 
end 

通知控制器部分假設您正在傳遞一個USER_ID和課程的請求參數。

讓我知道這是否有幫助。我不太確定你的要求是什麼。

相關問題