0

次の問題が発生しています。テーブルがたくさんあり、ネストされているものとされていないものがあります。私は自分のアプリをいくつかの領域に分割しました。それが正しい方法だと思います。私が言ったように、1つの領域は、同じアクションで同時にいくつかのテーブルを操作する必要があります。一部のモデルはネストされており、他のモデルはネストされていません。Railsの世界で最高のソリューションは何ですか?ポイントを得るために何を読むべきですか?

使ってみました

   accepts_nested_attributes_for

そして、fields_forと同じフォームで使用するオブジェクトを作成してみました。ただし、一部のオブジェクトには外部キーが含まれているため、複雑な形式になります。残念ながら、3つ以上のオブジェクトで正しいビルドを取得できません。

頑張ります。

ありがとう!

- - 編集 - - -

    Class Country < ActiveRecord::Base
      has_many :states
      attr_accessible :nome
      # i tried # accepts_nested_attributes_for :state
    end

    Class State < ActiveRecord::Base
      belongs_to :country
      has_many :cities
      attr_accessible :nome, :country_id
      # i tried # accepts_nested_attributes_for :city
      # i tried # accepts_nested_attributes_for :country # too
    end

モデルは、住所モデルを取得するまで続きます。

    Class Adress < ActiveRecord::Base

      has_many :bairros_logradouros # we name streets, avenues, parks as logradouros
                                    # here in Brasil, the others models are translated
                                    # to EN here
      has_many :logradouros, :trough => :bairros_logradouros # many-to-many

      attr_accessible :number, :complement, :other, :another 

      # i tried # accepts_nested_attributes_for :logradouro
    end

設定:国->州->市->地区(バイロ、ここ)->:Logradouro<->住所。チェーンを両方向にビルドしようとしましたが、2つのオブジェクトしか取得できず、3番目のオブジェクトはビルドメソッドでnilの問題を引き起こします。

これらのテーブルは住所に関するものです。最後に住所があるユーザーモデルthahas_onePersonを操作する必要があります。この場合、Person内の:addres_idに住所を指定します。

これはすべて、カスタムデータコントローラーで操作する必要があります。すべてのCRUDはここにあります。

チェーン全体を構築できませんでした:

    @addres = @addres.new
    @other = @addres.logradouros.build
    @another = @other.build_district
    @even_more = @another.build_city
    ....

私はobjects.buildとbuild_objectの使い方を学びましたが、2つ以上のネストされたオブジェクトをビルドできませんでした。

私は初心者です。

再度、感謝します!

4

2 に答える 2

0

Rails 3.1以降(Rails 4まで)で一括割り当てホワイトリストを使用している場合は、使用accepts_nested_attributes_for :logradourosする必要がありますattr_accessible :logradouros_attributes(名前に複数のlogradourosと_attributesがあることに注意してください)。しかし、それ以上の問題があるかもしれません。これは関連する質問です。

始めるときの良い参考資料は、Railsガイドのすべてを読むことです。

于 2013-02-22T20:27:28.143 に答える
0

ここから始めるのに最適な場所です。

http://www.tutorialspoint.com/ruby-on-rails/index.htm

于 2013-02-22T16:59:28.690 に答える