フォームで選択したperson
ものに応じて、ラジオ オプションのリストを更新しようとしています。user
_fields.html.erb:
<%= f.label :person %>
<%= f.select(:person_id, current_user.person_names) %>
<%= f.label :invoice_type %>
<%= radio_buttons_collection(f.object.invoice_types, f) %>
application_helper.rb:
def radio_buttons_collection(types, f) # works, but not with Ajax!
types_html = types.map do |type|
f.radio_button(:invoice_type, type)
end
safe_join(types_html)
end
projects_controller.rb:
def get_invoice_types
person = Person.find(params[:person_id])
@types = person.address_types
end
get_invoice_types.js.erb:
$('#project_invoice_type').html("<%= escape_javascript(radio_buttons_collection(@types, f)) %>");
アプリケーション.js:
$("#project_person_id").change(function() {
$.ajax({
url: '/projects/get_invoice_types',
data: 'person_id=' + this.value,
dataType: 'script'
})
});
person
フォームで が変更されたときにラジオ オプションが更新されないことを除いて、すべてが機能します。
誰でもこれを行う方法を教えてもらえますか?
助けてくれてありがとう。