ActiveRecord_Relation이 인스턴스 메소드를 호출하지 않는 이유는 무엇입니까? 이것을 달성하는 방법은 무엇입니까?
淡淡烟草味
淡淡烟草味 2017-04-24 16:00:44
0
2
894

데이터 디자인은 대략 다음과 같습니다.

섹션은 :페이지에 속함
페이지에는 많은 :섹션이 있음

달성하려는 기능은 다음과 같습니다.

해당 영구 링크 페이지에 포함된 모든 섹션을 표시하려면 public#show를 사용하세요.
get 'show/:permalink', :to =>

컨트롤러 코드

으아아아

where 조건을 통해 p4를 찾습니다

`irb(main):048:0> p4 = Page.where(permalink:"page4")

페이지 로드(0.4ms) SELECT
.* FROM pages WHERE pages.pages = 'page4'permalink=> #<ActiveRecord::Relation [#<페이지 ID: 43, subject_id: 28, 이름: "page4", 고유 링크: "page4", 위치: 1, visible: true,created_at: "2016-05-27 06:43:27",update_at: "2016-05-27 06:43:54">]>`

p5가 직접 데이터 조각을 찾았습니다. p4와 p5는 동일한 것으로 생각되며 둘 다 Page의 인스턴스 메소드를 호출할 수 있습니다

`irb(main):057:0> p5 = Page.last

페이지 로드(0.4ms) SELECT
.* FROM pages ORDER BY pages.pages DESC LIMIT 1id=> #<페이지 ID: 43, 제목_ID: 28, 이름: "page4", 고유 링크: "page4", 위치: 1, visible: true,created_at: "2016-05-27 06:43:27",update_at: "2016-05-27 06:43:54">`

그런데 결과가 정말 좋지 않네요.

`irb(main):065:0* p4.class

=> Page::ActiveRecord_Relation
irb(main):066:0> p5.class
=> : 정수, subject_id: 정수, 이름: 문자열, 영구 링크: 문자열, 위치: 정수, 표시: 부울, 생성_at: 날짜시간, 업데이트_at: 날짜시간)`

다음과 같이 오류가 보고됩니다

`

#<Page::ActiveRecord_Relation:0x007facb084bc50>에 대한 정의되지 않은 메소드 `sections'
추출된 소스(5번째 줄 주변):

<h2><%= @page.name %></h2>

<% @page.sections.visible.sorted.each do |section %>

<p class="section">
으아아아

`

淡淡烟草味
淡淡烟草味

모든 응답(2)
世界只因有你

이 문제는 해결되었습니다. 모두 감사합니다!

.first를 추가하세요
으아아아
左手右手慢动作

마이그레이션 코드를 볼 수 있나요?

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿