사용자가 프로그래밍 과정의 학교 프로젝트를위한 프로그래밍 아이디어를 만들 수있는 웹 사이트를 구축 중입니다. 그들은 모든 아이디어를보고 다른 사용자가 만든 아이디어에 등록 (가입) 할 수 있습니다. 등록 단추는 사용자의 아이디어보기 페이지에 있습니다.레일 4 : 사용자가 다른 사용자에게 등록 (가입) 할 수있는 모델 연결을 구현하는 방법
조인 테이블처럼 작동하는 relationshipsmodel을 만들려고했으나 제대로 작동하지 않았습니다. 그런 다음 선생님은 등록을 통해 사용자 및 아이디어 모델을 연결하기 위해 전용 관계 테이블을 만들지 않고 has_many 연관을 만들 수 있다고 말했습니다.
나는 레일스에 익숙하지 않고 방금 Michael Heartl의 레일스 튜토리얼을 마쳤다.
아이디어가 홈 페이지에class User < ActiveRecord::Base
has_many :ideas
has_many :enrolled_ideas, through: :enrollments, dependent: :destroy, class_name: "Idea"
class Idea < ActiveRecord::Base
belongs_to :user
WebappProject::Application.routes.draw do
resources :users
resources :sessions, only: [:new, :create, :destroy]
resources :ideas do
member do
get :enrolled
end
end
(static_pages 컨트롤러), 사용자가 클릭 할 수있는 :
이 내 코드입니다. 그런 다음 show 액션을 통해 idea (ideas_controller)의 show 페이지로 보냅니다. 이 페이지 (사용자의 특정 아이디어)에서 "등록"버튼을 원합니다. 따라서 사용자가 아이디어 소유자를 클릭하면 사용자 쇼 페이지에 등록 된 모든 사용자를 나열 할 수 있습니다.
감사합니다 !!, 나는 두 번째 옵션에 가서 별도의 구독 테이블을 만들었습니다. 사용자 측면에서, 나는 "has_many : subscribed_by, through : : subscriptions, source : : user"로 갔다. 이제 게시물에 등록 된 모든 사용자를 검색 할 수있다. –