2015-10-29 13 views
6

Tôi có một mô hình List với các thuộc tính lồng nhau từ một thuộc tính khác, Article. Những lỗi tôi là tôi có Ruby yêu cầu params có thuộc tính lồng nhau đầu tiên của tôi trong băm Article, và tất cả những người khác (2, 3 bài viết dữ liệu, vv) trong article_parameters.mongoid chia tách các thuộc tính lồng nhau trong hai băm?

Tôi làm theo hướng dẫn mongoid tiêu chuẩn tại đây.

Tôi có @ list.articles.build trong phương thức tạo của Bộ điều khiển danh sách. Tôi có thể ảnh hưởng đến những gì đi vào phương pháp xây dựng không? Tôi đã cố gọi build(all_the_correct_hashes) nhưng dường như không khắc phục được sự cố.

Vì vậy, tóm lại, tôi có 2 câu hỏi.

  1. tại sao articles chỉ nhận thuộc tính lồng nhau đầu tiên, thứ 2 và tiếp theo là article_parameters băm?

  2. lý do tại sao list.articles.build chỉ tạo _id trong tài liệu Mongo của tôi, nhưng không điền nó với các trường khác?

+5

Khó để nói chính xác những gì được hỏi ở đây. Đăng mã có liên quan (có dữ liệu) –

Trả lời

0

Tôi sẽ viết giải pháp của mình, vì tôi thấy mọi người upvoting câu hỏi của tôi.

Thành thật mà nói, tôi không tìm thấy bất kỳ câu trả lời nào là tại sao hành vi đó xảy ra. Giải pháp là một chút hackish.

Trong lưu điều khiển của bạn, hãy gọi List.article.build(id => params[:id], someotherstuff => params[:someotherstuff])

Tất cả mọi thứ bạn vượt qua để xây dựng trong trường hợp này sẽ cư article_parameters băm.

idsometherstuff là các trường của mô hình Article.

Tôi cảm thấy điều này nên được thực hiện hoàn toàn bởi Mongoid, nhưng nó không hoạt động. Sự phát triển của họ cũng không thấy bất cứ điều gì sai trái với nó.

Các vấn đề liên quan