我有一個表單,其中基於用戶在下拉列表中選擇的值,表單的其餘部分通過部分顯示。當通過rjs渲染部分時處理表單對象
型號:
Book has many supplierdetails
Supplierdetails belongs to Book
形式代碼
<% fields_for @book do |f| %>
Catalogue Number: <%= f.text_field :BK_CAT_NUM %>
<% f.fields_for :supplierdetails do |builder| %>
Supplier Type:
<%= builder.select(:SUP_TYPE,
[['A', 'A'],
['B', 'B'],
],{ :prompt => "Please select"}
) %>
<%= observe_field("book_supplierdetails_attributes_0_SUP_TYPE",
:url => { :controller => 'books', :action => :display_ab_details },
:with => "'id='+value") %>
<div id="div1"> </div>
<% end %>
<% end %>
控制器方法
def display_ab_details
supplier_type = params[:id]
if supplier_type == "A"
render :update do |page|
page['div1'].replace_html :partial => 'books/test_partial'
end
end
end
本書籍/ _test_partial.html.erb
Production Method: </label> <%= builder.select(:SUP_PROD_METHOD, [
['prod_1', 'prod_1'],
['prod_2', 'prod_2'],
],{ :prompt => "Please select"}
) %>
的部分不顯示,我相信這是因爲表單對象。
如果'books/_test_partial.html.erb'包含純文本,則會正確顯示。
如何通過rjs渲染部分時如何處理表單對象?
非常感謝您的幫助。我會看看你給我的建議。 – Kim