我想創建一個方法在draper裝飾器,將吐出form_for。我有一個表單用於在索引視圖上搜索記錄並擁有數十個資源,因此如果可能的話(應用程序裝飾器),我真的想在一個地方維護這個邏輯。我的問題是,我不知道如何渲染裝飾器中的form_for。我遇到了concat和capture的一些用法,試圖完成這個,沒有運氣。我所能得到的只是幾個div的顯示(而不是html,就像純文本一樣)。關於如何做到這一點的任何想法?這是代碼我有:德雷珀與form_for方法
def crud_index_search(search_obj)
h.concat "<div id='basic_search' style='display:none;'>"
search_form_for search_obj do |f|
h.concat '<div class="input-append">'
f.text_field :name_or_description_cont, :placeholder => 'Quick search ...', :id => 'search'
h.concat "<button class='btn'><i class='icon-search'></i></button>"
h.concat '</div>'
link_to 'Advanced Search', '#', :id => 'advanced_search_btn', :class => 'pull-right'
end
h.concat '</div>'
h.concat "<div id='advanced_search' style='display:none;'>"
search_form_for search_obj do |f|
f.condition_fields do |c|
h.concat render "crud/partials/condition_fields", :f => c
end
h.concat "<p>#{ link_to_add_fields 'Add Conditions', f, :condition }</p>"
f.submit 'Search'
h.concat "#{link_to 'Basic Search', '#', :id => 'basic_search_btn', :class => 'pull-right'}"
end
h.concat '</div>'
end
在我看來......
<%= @categories.crud_index_search @search %>
任何幫助將不勝感激!我已經把它放到了一個局部區域中,但是它有效,但是我需要添加一些更復雜的邏輯,這會使它在每個資源的基礎上有所不同,所以局部並不理想爲了我。
感謝