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




레일즈 시작하기 (5)

다른 모델을 참조하는 모델을 만들려면 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 문서 를 참조하십시오.

새로운 모델을 생성하고 다른 모델의 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 의해 반환 된 "세부적인"정보는 여전히 나를 긁어 모으고있다.



:primary_key, :string, :text, :integer, :float, :decimal, :datetime, :timestamp,
:time, :date, :binary, :boolean, :references

표 정의 절을 참조하십시오.


이 명령을 작성할 때는 텍스트를 대문자로하지 마십시오. 예 :

쓰기 :

rails g model product title:string description:text image_url:string price:decimal

쓰지 마세요:

rails g Model product title:string description:text image_url:string price:decimal

적어도 그것은 나에게 문제였다.


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

def new @project = Project.new end

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

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

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

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







rails-activerecord