나는 보석 byebug, pry-rails, pry-byebug, pry-stack_explorer와 함께 Rails 4를 사용합니다.
보기 파일에서 바꿀 때 :
<td class="subtotal"><%= order.display_item_total %></td>
와
<td class="subtotal"><%= binding.pry %></td>
레일스 서버 프로세스가 실행 중이고 pry 중단 점에서 실행이 중지 된 콘솔 내부에 입력합니다.
order.inspect
오류 메시지가 나타납니다.
NameError: undefined local variable or method `order' for #<ActionView::OutputBuffer:0x007fdf13d99bb8>
binding.pry를 order.inspect로 바꾸면 브라우저에서 주문의 개체 정보를 얻습니다.
콘솔의 pry 세션 내에서 개체 순서를 가져올 수 있어야합니다. 내가 도대체 뭘 잘못하고있는 겁니까?
편집 : 콘솔 출력의 시작 부분에서 :
From: /Users/standardnerd/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activesupport-4.2.7.1/lib/active_support/core_ext/string/output_safety.rb @ line 166 ActiveSu
pport::SafeBuffer#safe_concat:
165: def safe_concat(value)
=> 166: raise SafeConcatError unless html_safe?
167: original_concat(value)
168: end
이것이 변수의 범위에 영향을 줍니까?
라인
<td class="subtotal"><%= binding.pry %></td>
binding.pry
보기에 대한 응답을 출력하려고 시도하고 있으며 이것이 귀하를 트리거한다고 생각 SafeConcatError
하며 올바른 바인딩에 액세스하지 않는 것 같습니다 .
하는 것이 더 좋을 것입니다 ...
<% binding.pry %>
<td class="subtotal"><%= order.display_item_total %></td>
... pry
총계를 렌더링하기 직전에 수행합니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다