0

このプログラミング内容について、私は次のように考えています。「adult」は生徒データ表を表し、「adultclasses」はコース選択データ表を表します。

データキーが生徒データを直接入力する場合、成人向けコンテンツに存在しない Student_id の入力を避ける必要があります。しかし、私は何度か試みましたが、それでも失敗します。

def create
    @adult_class = AdultClasse.new(params[:adult_classe])
    @adults_session_descriptions = AdultsSessionDescription.all
    if 
      @adult_class = @adult_class.find(:student_id) == Adult.find_by_student_id(:student_id)       
      flash[:notice] = "no this student id record!"
      redirect_to:action => :index       
    else   
         respond_to do |format|
        if @adult_class.save
          format.html { redirect_to(@adult_class, :notice => 'adult classe was successfully created.') }
          format.xml  { render :xml => @adult_class, :status => :created, :location => @adult_class }
        else
          format.html { render :action => "new" }
          format.xml  { render :xml => @adult_class.errors, :status => :unprocessable_entity }
        end
      end
    end

プログラムをビルドする際に複数の名前を使用するのを間違えたので、以下のように adultclasse.rb を作成しました。

# encoding: utf-8
class AdultClasse < ActiveRecord::Base
  set_table_name "adult_classes"
  belongs_to :adult
  #has_many :adults_classe_ship 
  #has_many :adult, :through => :adults_classe_ship 
  validates :student_id,  :presence =>  {:message => "please input student id"}, 
                          :length => {:message => "too short or too long", :minimum => 4, :maximum => 12}        
end

これはモデルAdult.rbです

# encoding: utf-8
    class Aadult < ActiveRecord::Base  
    before_save :fix_cname

  def age
    now = Time.now.utc.to_date
    dob = self.birthday
    now.year - dob.year - ((now.month > dob.month || (now.month == dob.month && now.day >= dob.day)) ? 0 : 1)
  end

  private
  def fix_cname
   self.cname = self.cname.gsub(/[\w\s\b\$[:punct:]]/ , '')
  end      

  #has_many :adults_classe_ship, :dependent => :destroy
  #has_many :adult_classe, :through => :adults_classe_ship
4

0 に答える 0