2015-06-13 5 views
1

Я новичок в рельсах. Пожалуйста, помогите мне, как создать рельсы по одному. У меня два стола говорят abc и pqr. в моделях, которые я объявил has_one:pqr в модели abc и belongs_to:abc в модели pqr. Я не знаю, как писать представление и контроллер для «pqr».как рельсы отношения один к одному?

ответ

1

Допустим, у нас есть 2 таблицы: person и dog

Прежде всего, вам нужно создать person_iddog в таблице. В моделях Чем вы добавляете has_on :dog в person.rb и belongs_to :person в dog.rb

В контроллерах Чтобы создать dog, который принадлежит к person. Сначала вам нужно создать человека.

@person = Person.new(params[:person]) 
@person.save 

затем создать свою собаку.

@dog = Person.create_dog(params[:dog]) 
@dog.save 

Чтобы получить доступ к собаке человека вы просто должны ввести

@person.dog 
2

Вы можете использовать

bin/rails generate controller Pqr hello 

Это создаст файл контроллер, вид файл, функциональный тест-файл и помощник для представления. Для получения дополнительной информации см. this article.

exists app/controllers/ 
    exists app/helpers/ 
    create app/views/pqr 
    exists test/functional/ 
    create test/unit/helpers/ 
    create app/controllers/pqr_controller.rb 
    create test/functional/pqr_controller_test.rb 
    create app/helpers/pqr_helper.rb 
    create test/unit/helpers/pqr_helper_test.rb 
    create app/views/pqr/hello.html.erb 

Вы можете добавить содержимое, которое будет использоваться по вашему мнению, на ваши действия hello в контроллере pqr_controller.rb

class PqrController < ApplicationController 
    def hello 
    @content = "Hello World" 
    end 
end 

Тогда, если вы хотите любые другие действия и вид, соответствующий этому позже, скажем show , вы можете добавить действие в контроллер и создать соответствующий вид на app/views/pqr/show.html.erb

class PqrController < ApplicationController 
    def hello 
    @content = "Hello World" 
    end 
    def show 
    @contents = "Test" 
    end 
end 
Смежные вопросы