0

sites(id, type, title, address)タイプが「ホーム」または「オフィス」である、単一のテーブル継承を持つ単純なサイト モデルがあります。Rails 2.3.5 を使用していたときはSite.last.title、タイトルを付けることができました。ただし、Rails 3.2.6 では、これを行うSite.last.titleと、代わりに型列として値が返されます。

タイプの代わりにタイトルの値を取得することは可能ですか?

4

1 に答える 1

0

テーブルの最新の値を取得しようとしている場合は、created_at列ごとに検索することをお勧めします。デフォルトでは、 を使用するSite.lastと、Rails は主キー ( ID) で検索しますが、ほとんどの場合はこれで問題ありません。ただし、何らかの理由IDで既存のレコードの を変更する必要がある場合、SQL は期待したものを返しません。

したがって、次のようにすることをお勧めします。

Site.order("created_at").last.title

typeあなたが直面している問題に関しては、問題はではなく に関連していると思いますtitle。とにかく、siteコントローラーに最新のものを設定してから、ビューで呼び出すことをお勧めします。

#controller
@site=Site.order("created_at").last

#view
@site.title

それが役立つことを願っています...

于 2012-07-14T10:21:19.710 に答える