レッスン、状況、運命(テーブルに参加)の3つのモデルがあります。このアプリでは、1 つのシチュエーションに多くのレッスンを含めることができ、1 つのレッスンを複数のシチュエーションに所属させることができます。
私は基本的にテーブルをこのように見せたいと思っています。
状況
id.....名前.....................説明
1.....食べ物の注文......レストランに行き、食べ物を注文します。
2.....自己紹介 初対面の人に自己紹介をします。
レッスン
id.....名前.....................説明........lesson_text
1......食べ物を注文する....食べ物を注文する方法..何とか何とか何とか、これは食べ物を注文する方法です.
2......ウェイターに電話する
3 食費の支払い 食費の支払い方法 何とか何とか、これが食費の支払い方法です。
4 人に挨拶する 人に挨拶する方法 何とか何とか、これは人に挨拶する方法です。
5 質問する 質問の仕方 何とか何とか、これが質問の仕方です。
運命
シチュエーション ID レッスン ID 必須
1.................1.はい
1.................2.はい
1.................3.いいえ
2.................3................はい
2........4................はい
2........5................はい
テーブルをセットアップしましたが、レッスンを状況に関連付ける方法がわかりません。
これは私のアプリケーションが現在どのように見えるかです
シチュエーション・コントローラー
class SituationsController < ApplicationController
def index
@situations = Situation.all
end
def new
@situation = Situation.new
end
def create
@situation = Situation.new(params[:situation])
respond_to do |format|
if @situation.save
format.html { redirect_to @situation }
end
end
end
def show
@situation = Situation.find(params[:id])
@lesson = @situation.lessons.new
end
def edit
@situation = Situation.find(params[:id])
end
def update
@situation = Situation.find(params[:id])
respond_to do |format|
if @situation.update_attributes(params[:situation])
format.html { redirect_to @situation }
end
end
end
def destroy
@situation = Situation.find(params[:id])
@situation.destroy
respond_to do |format|
format.html { redirect_to situations_path }
end
end
end
レッスンコントローラー
class LessonsController < ApplicationController
def index
@lessons = Lesson.all
end
def new
@lesson = Lesson.new
end
def create
@lesson = Lesson.new(params[:lesson])
respond_to do |format|
if @lesson.save
format.html { redirect_to @lesson }
end
end
end
def show
@lesson = Lesson.find(params[:id])
end
def edit
@lesson = Lesson.find(params[:id])
end
def update
@lesson = Lesson.find(params[:id])
respond_to do |format|
if @lesson.update_attributes(params[:lesson])
format.html { redirect_to @lesson }
end
end
end
def destroy
@lesson = Lesson.find(params[:id])
@lesson.destroy
respond_to do |format|
format.html { redirect_to lessons_path }
end
end
end
ルート
root :to => 'situations#index'
resources :situations do
resources :lessons
end
resources :difficulties
シチュエーション.rb
class Situation < ActiveRecord::Base
attr_accessible :name, :description
has_many :fates
has_many :lessons, :through => :fates
end
レッスン.rb
class Lesson < ActiveRecord::Base
attr_accessible :name, :description, :difficulty_id, :lesson_text
has_many :fates
has_many :situations, :through => :fates
end
Fate.rb
class Fate < ActiveRecord::Base
belongs_to :lesson
belongs_to :situation
end
助けてくれてありがとう!乱雑なフォーマットについては本当に申し訳ありません。