안녕하세요?레일즈 - 자바 스크립트 이벤트에서 아약스 요청을 받고 부분로드
레일 3.2.3과 루비 1.9.2p290을 사용하고 있습니다.
내가 많은 purchase_payments있는 모델 구매가 : 내 양식에
class Purchase < ActiveRecord::Base
has_many :purchase_payments, :class_name => 'PurchasePayment', :dependent => :destroy
accepts_nested_attributes_for :purchase_payments
def Purchase.build_payments(count)
#Creat #count payments with some logic for each of them
end
end
을, 나는 number_field 한 : 이제
<td>
<%= f.number_field :payments_count, :min => 0 %>
</td>
, 내가 purchase_payment 필드의 기반이 나타나도록하고 싶습니다 지불 수. 이를 위해, 나는 특정 사업부가 있습니다
<div id="purchase_payments_space"> </div>
내가 지금까지 발견 한 모든 자원, LINK_TO 같은 도우미 태그에 의해 생성 아약스에 대한 이야기, ..., => 진정한 원격하지만,이 태그를 사용하여, 사용자는 링크를 클릭하여 원격 기능을 호출해야합니다. 내 응용 프로그램의 다른 부분에서, 나는 JQuery와 아약스 요청을 사용하고 난 내 컨트롤러에 요청을 보내기 위해 다음과 같이 사용하려고 해요 : 내 컨트롤러에서
function load_payments() {
$.ajax({
type: "POST",
url: "/purchases/build_payments/" + document.getElementById("purchase_payments_count").value,
});
}
$(document).ready(function() {
$("#purchase_payments_count").change(load_payments);
}
, 나는 respond_to이 있습니다 바로 내 수업 후 JS 선언 다음과 같은 방법
def build_payments
pc = params[:payments_count].to_i
@purchase = Purchase.new
@purchase_payments = Purchase.build_payments pc
respond_to do |format|
format.js
end
end
내가 확인을 실행 buid_payments.js.erb/내 응용 프로그램/조회/구매가 이런 식으로. 문제는, 나는 내 양식에 포함되어야하는 지불금 모음을 구축하고 있고, 현재 내가하고있는 방식대로 일을하는 것이 레일스처럼 보이지 않는다는 것입니다. 이 방법으로 js.erb 파일에 많은 코드를 작성해야하며 여전히 params에서 전체 구매를 작성하는 메소드를 작성하는 방법을 알아낼 수 없습니다 (양식을 작성하는 방법을 모르겠습니다. 자바 스크립트).
여러 가지 방법을 살펴 보았지만 자바 스크립트 이벤트에서 아약스 요청을 내리고 뷰에 중첩 된 속성 (내 기억해야하는 purchase_payment 콜렉션)의 중첩 필드를 만드는 통합 솔루션을 제공하지 못했습니다.
나는 http://railscasts.com/episodes/196-nested-model-form-part-1과 http://railscasts.com/episodes/197-nested-model-form-part-2을 보았습니다. 그러나 그것들은 link_to 및 link_to_function과 같은 도우미 메서드 위에 만들어졌습니다.
누구든지 나를 어떻게 안내 할 수 있습니까? 내가 당신을 도울 수를 볼 수없는 경우
죄송합니다. 그러나 이것이 서버의 응답을 어떻게 바꿀지는 모르겠습니다. – HFSDevBR