1

我有兩種模式:書籍和章節,書中有許多章節。 我已經設置了類似的路線:如何在嵌套資源的控制器中爲show動作構建一個活動Recond查詢?

match 'book/:book_title/:chapter/:chapter_title' => 'chapter#show', :as => "chapter" 

和代表團的章節控制器,動作顯示效果還算不錯。

現在我面臨的問題是通過本書檢索show controller中的那一章。 如果查詢的標識符不是主鍵,這是如何完成的?

謝謝!

回答

1

你可以像這樣通過書籍裝入章節:

@book = Book.find_by_title(params[:book_title]) 
@chapter = @book.chapters.find_by_title(params[:chapter_title]) 

注:find_by_ *適用於對模型中的任何數據庫屬性。

+0

我花了一段時間試圖弄清楚爲什麼它不工作,事實證明,問題出在我在父模型中使用的default_scope中。我寫它像 'default_scope其​​中(:屬性=>:值)' 這導致與使用find_by_ * 錯誤的結果我已將其更改爲 'default_scope:conditions => {:attribute => :value}' 現在它工作正常。 謝謝! – lyuba

相關問題