私は、新しいレールプロジェクトに取り組んでいます。これは、1つのレール設置から複数のウェブサイトを走らせることです。私はリソースを入れ子にすることなく関連付けを行う方法を混乱させる。Rails 3 multisite(ID付きアサーション)?
注:私はサブドメインを使用していますsite1.ex.com/photosだろうURLので、例えば site2.ex.com/ramps
は今、私はサイト1という名前のサイトを持っていますサイト1には、写真、ビデオ、およびランプがあります。 rails site has_many:photos、:videos、:ramps(あなたにアイデアを与えるだけで、コードは適切に書式化されていません)を伝えることによって、関連付けを行うことができます。 URLを含めてすべてうまく動作しますが、ここに私の問題があります。
- サイトは、私が望まないもの(例:example.com/sites/1/photos)であるURLに含まれています。
- 協会はうまくいきますが、私は3つの項目のために両親を持っていたいですか? Railsは、1レベル以上のルートをネストしないことを示唆しています。ここで
は私がネストされたリソースを使用せずに、サイト間の関連付けを呼ばれることができます(写真用album_idとのSITE_IDをキャプチャすることはできません)どのよう
- をやりたい何ですか?
- アルバムの場合has_many:写真とbelongs_to:siteどうすれば私のコントローラで呼び出すことができますか(例)?
私は写真を追加しましたので、誰かが私が達成しようとしていることを理解できるようにしました。
何アルバム 'has_manyの場合:どのようにphotos'そして、あなたの
AlbumsController
にあなただけがApplicationController
からあなたbefore_filterを利用すると@site
オブジェクトを使用して、現在のサブドメインでサイトに属しているものが必要になりますアルバム、サイト、写真を1つの通話またはコントローラに統合できますか? – coletrainPhotosControllerを作成し、 'before_filter:find_album'を追加し、' @album = @ site.albums.find(params [:album_id]) 'を呼び出す' find_album'というメソッドを作ります。次に、あなたのshowメソッドで、 '@photo = @ album.photos.find(params [:id])' –