2010-12-27 2 views
1

그것은 teh lp.save 줄에서 발생합니다. 나는 이상한 점이있다. 왜냐하면 나는 link_pages를 다시 정렬하기 위해 동일한 코드를 가지고 있기 때문이다.Ruby on Rails : ActiveRecord : ReadOnlyRecord 오류를 제거하려면 어떻게해야합니까?

메뉴 바 링크 페이지는이/방법도

@menu_bar.link_pages.each do |lp| 
     lp.sequence = LinkPage::NOT_USED 
     lp.save 
    end 

파괴가 많은 관계

이가 MENU_BAR에 속한 당신은로드 된 경우 2.3.8

답변

3

레일 link_pages를 통해 ARel : join 쿼리를 실행하면 join to : include를 변경하여 오류를 제거 할 수 있습니다.

자세한 질문과 대답은 answered here입니다.

+0

나는 그렇지 않았다. @menu_bar는 link_pages와 habtm 관계가있는 활성 레코드입니다. – NullVoxPopuli

+0

그런 경우 다른 방법을 찾지 못한 경우 다음과 같이 쿼리하여 ARel 쿼리를 사용하도록 코드를 변경해보십시오. MenuBar.include (: link_pages) .where (: id => params [: id]). first ... (귀하의 시나리오와 일치하도록 수정하십시오.) – Scott

+0

답을 돕기위한 나의 마지막 시도 - 이전에 같은 'ReadOnlyRecord'오류가 있었고 소스 코드를 다시 보았습니다. VendorStatus.joins (: order) .where (: orders => {: code => order_code)). readonly (false) .first 다시 한 번 다음과 같은 쿼리를 사용하여 내 문제를 해결했습니다. 비슷한 라인을 따라 작동하도록 자신의 쿼리를 변경해야하지만 문제가 해결 될 수 있습니다. 이것은 Rails 3 코드이며 여전히 작동합니다. – Scott