2
A
答えて
4
仮定:
post = Post.find(params[:id])
とポストモデルが含まれています。その後、
has_many :comments
することができます:123はあなたのポストのIDをある
comments = post.comments
first_comment = comments.first
3
Post.find(123).comments.first
。
1
@ post.comments.firstが正常に機能します。 (コントローラのメソッドで@postを設定する必要があります)
しかし、「最初の」というのは、通常、IDで順序付けされた関連付けの最初のことです。 ids autoincrement以来、これは '最初に追加された'または '最も早いコメント'と同じように起こります。しかし、そうである必要はありません。
コメントの関連付けで異なる注文が指定されている場合は、最初にこれを使用します(例:あなたの会合はこのように見えた場合:次に
has_many :comments, :order=>'rating desc'
、post.comments.firstはあなたに最高の定格コメントを与えるだろうではない(「評価」フィールドは平均格付けを表し、いくつかの値に何らかの形で設定されていると仮定した場合)最初に追加されます。コメントのモデルを仮定し、その場合には
は、タイムスタンプを持っている、あなたはこのような単純なタスクのために不要な変数の割り当てをたくさんだ@post.comments.find(:first, :order=>'created_at asc')
関連する問題
- 1. 最初に特定のレコードを表示する方法xsl
- 2. Crystal Reports:各グループの最初のレコードを表示
- 3. SQL Server:グループ化されたレコードの最初の行を表示
- 4. 最初のレコードは表示されていませんUNION ALL
- 5. 表示最初の値
- 6. 次のレコードの検索でデータを取り出して、空のフィールドを表示しているレコードに最初のレコードが表示されません。
- 7. 最初のレールまたは初期化されないレール
- 8. Acumatica:表示フィールドのビューで最初のレコードを取得する - 外部オーダーBys
- 9. Jquery最初にヘッダーを非表示にしてスクロールアップで表示
- 10. 角型UIブートストラップページング - 最初の12レコードをインサイトページロードでng-repatで表示
- 11. は、最初のレコードのみ
- 12. CodeIgniterのクエリ配列は、最初のレコードを表示しますが、他の表示されません
- 13. JQueryのみ最初の値を表示
- 14. plotly.js:最初のx軸ティックラベルを表示
- 15. Android:EditTextのテキストを最初から表示
- 16. Androidカレンダーの最初の年の表示を表示
- 17. 最新の画像を最初に表示するコマンドラインのランダムスライドショー
- 18. 最初に表示されたjQueryモーダルダイアログバリデータ
- 19. テーブルのデータを最新表示するときの最初の行を表示
- 20. 特定の属性は、最初のレール
- 21. ListViewの最初の表示グループUWP
- 22. Javascriptの表示/非表示、ページの最初のdivを表示する
- 23. SQLの最後のレコードをhtml divに表示します
- 24. フィールドの最後のレコードを入力ボックスに表示
- 25. IEの表のヘッダーでオーバーラップされたテーブルの最初のレコード
- 26. PHPとMySQLで最高価格で注文されたレコードを最初に表示します
- 27. ページャイメージ(フラグメント)スライダを最初から表示
- 28. EXTJS4 - GridPanelの最初のレコードを取得
- 29. SQL - 最初のレコードのみを
- 30. タブ、非表示の最初のタブと前回の最後の表示
ような何かをする必要があると思います。 – aehlke
ちょうどプロセスを説明するために –
素晴らしい! – Elliot