zoukankan      html  css  js  c++  java
  • Find Through Association 使用级联查询

    class Project < ActiveRecord::Base
        has_many :tasks
    end

    这段代码的意思是有一个Project类,通过has_many方法定义他有多个tasks


    class Task < ActiveRecord::Base
         belongs_to :project
    end

    这段代码的意思是有一个Task类,通过belongs_to定义它属于一个Project


    class ProjectsController < ApplicationController
          def show
                 @project = Project.find(params[:id])
                 @tasks = Task.find(:all, :conditions => ['project_id = ? AND complete = ?', @project.id, false])
    end
    end

    通过ProjectController中的show方法,返回一个项目或者其包含的未完成的项目。可以将代码进一步优化如下为

    @tasks=@project.tasks.find(:all, :conditions=>[complete=?',false])

    还可以进一步优化成

    @tasks=@project.tasks.find_all_by_complete(false)

     
  • 相关阅读:
    Rust资料
    CMake & Ninja
    @Configurable
    Hibernate startup -> 配置SessionFactory实例
    Vue 渲染函数
    Spring 5 新特性
    @Configuration 注解的用途
    AOP
    AnnotationConfigApplicationContext.() -> Unit
    C编译优化
  • 原文地址:https://www.cnblogs.com/JackyKun/p/4870581.html
Copyright © 2011-2022 走看看