railsでコントローラに関連付けられているテーブルとは別のテーブルのデータを読み書きするにはどうすればいいんでしょうか?


具体的には、appleというコントローラにはapplesというテーブルがあるとします。
appleコントローラからorangeというコントローラのorangesテーブルのデータを読み書きしたいです。

可能でしょうか?

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2007/09/23 23:36:34
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:moro No.1

回答回数23ベストアンサー獲得回数10

ポイント60pt

http://www.rubyonrails.org/

URLはダミーです。

Rails 1.2.xだと言う前提です。

たぶん何もしなくてもまったくフツーにアクセスできると思います。つまり

class AppleController < ApplicationController
  def list
    @apples = Apple.find(:all)
    @oranges = Orange.find(:all)   # <= ここ
  end
end

で動くはずです。

コントローラとモデルは一対一対応するものではないので、そのまま呼び出して問題ありません。

また、古いRails(1.1.x系もかな?)の場合は、コントローラでmodel宣言をする必要があります。その場合

class AppleCotnroller < ApplicationController
  model :orage
  ...
end

とかやらないとダメだったかと思います。

以下余談

# 設計として、コントローラとモデルを必ず対応させる、というscaffold的な

# 作り方も検討してみる余地はありますが。

id:nagiwind

ありがとうございました。うまくいきそうです。

2007/09/23 23:35:47

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません