tôi nhận đượcRecordNotFound với accepts_nested_attributes_for và belongs_to
ActiveRecord :: RecordNotFound: Không thể tìm thấy khách hàng với ID = 3 cho thứ tự với ID =
khi cố gắng để gửi biểu mẫu theo thứ tự cho một khách hàng hiện tại. Điều này xảy ra thông qua hình thức hoặc điều khiển bằng cách gõ:
Order.new(:client_attributes => { :id => 3 })
payment_form.html.erb:
<%= semantic_form_for @order, :url => checkout_purchase_url(:secure => true) do |f| %>
<%= f.inputs "Personal Information" do %>
<%= f.semantic_fields_for :client do |ff| %>
<%= ff.input :first_name %>
<%= ff.input :last_name %>
<!-- looks like semantic_fields_for auto-inserts a hidden field for client ID -->
<% end %>
<% end %>
<% end %>
Order.rb:
class Order < ActiveRecord::Base
belongs_to :client
accepts_nested_attributes_for :client, :reject_if => :check_client
def check_client(client_attr)
if _client = Client.find(client_attr['id'])
self.client = _client
return true
else
return false
end
end
end
Ý tưởng reject_if
đến từ here nhưng tôi đã đăng nhập phương thức và thậm chí nó không được gọi! Nó không quan trọng tên của nó là gì!
Điều này không tạo ra một Ứng dụng khách khác ngay cả khi nó tìm thấy khách hàng theo id? – dubilla