시작하기 - Ruby on Rails는 모델 필드를 생성합니다:type-field:type의 옵션은 무엇입니까?




레일즈 시작하기 (4)

새로운 모델을 생성하고 다른 모델의 ID를 참조하는 구문을 잊어 버리려고합니다. 나는 그것을 스스로 찾아 볼 것이지만, 모든 Ruby on Rails 문서 링크 중에서 결정적인 소스를 찾는 방법을 알아 내지 못했습니다.

$ rails g model Item name:string description:text (여기에 reference:product 또는 references:product ). 그러나 더 나은 질문은 어디에서 어떻게 이런 종류의 멍청이를 쉽게 찾을 수 있는가?

참고 : 나는 이러한 옵션 중 하나를 잘못 입력 하고 마이레이션실행 하면 Ruby on Rails가 데이터베이스를 완전히 망칠 것입니다 ... 그리고 rake db:rollback 은 그러한 땜질에 대해 무력하다는 어려운 방법을 배웠습니다. 나는 내가 뭔가를 이해하지 못한다고 확신하지만, 내가 할 때까지 ... rails g model 의해 반환 된 "세부적인"정보는 여전히 나를 긁어 모으고있다.


나는 같은 문제가 있었지만 코드는 조금 달랐다.

def new @project = Project.new end

그리고 내 양식은 다음과 같이 보였다.

<%= form_for @project do |f| %> and so on.... <% end %>

그건 완전히 맞았습니다. 그래서 그것을 알아낼 방법을 몰랐습니다.

마지막으로 <%= form-for @project 가 나를 위해 일한 후에 url: { projects: :create } 을 추가 <%= form-for @project 됩니다.


다른 모델을 참조하는 모델을 만들려면 Ruby on Rails 모델 생성기를 사용하십시오.

$ rails g model wheel car:references

app / models / wheel.rb가 생성 됩니다 .

class Wheel < ActiveRecord::Base
  belongs_to :car
end

그리고 다음 마이그레이션을 추가합니다.

class CreateWheels < ActiveRecord::Migration
  def self.up
    create_table :wheels do |t|
      t.references :car

      t.timestamps
    end
  end

  def self.down
    drop_table :wheels
  end
end

마이 그 레이션을 실행하면 db / schema.rb 에서 다음이 종료됩니다.

$ rake db:migrate

create_table "wheels", :force => true do |t|
  t.integer  "car_id"
  t.datetime "created_at"
  t.datetime "updated_at"
end

문서의 경우, 레일 생성기의 시작점은 Ruby on Rails입니다 : 레일스 명령 행에서 사용 가능한 필드 유형에 대한 자세한 내용은 API 문서 를 참조하십시오.



$ rails g model Item name:string description:text product:references

나도 가이드를 사용하기가 어려웠다. 이해하기 쉽지만 내가 찾는 것을 찾기가 어렵습니다.

또한 rails generate 실행하는 임시 프로젝트를 사용 rails generate 명령을 rails generate 합니다. 그런 다음 작업을 시작하면 실제 프로젝트에서 실행합니다.

위 코드에 대한 참조 : http://guides.rubyonrails.org/getting_started.html#associating-models





rails-activerecord