2013-06-20 24 views
0

大家好我是在軌道上的紅寶石新和我正在使用簡單的形式寶石形式。現在我想簡化它更多,並嘗試做一個方法,將標籤作爲參數,然後可以生成一個簡單的形式。 例如。的 代替我怎樣才能使軌道方法生成窗體的標籤作爲參數傳遞到方法

<%= u.input :name, required: true %> 
<%= u.input :email, required: true %> 
<%= u.input :phone %> 

我想調用與參數

(name,email,phone) 

的方法來生成表格。

回答

0

你可以使用一個輔助方法,像這樣:

Module ApplicationHelper 
    def build_me_a_form(path, fields) # pass fields as an array ['Name', 'Email', 'Phone'] 
    page_content = '' 

    unless fields.blank? 
     page_content = form_tag(path) 
     fields.each do |field| 
     page_content += text_field_tag(field.downcase.to_sym) 
     end 

     page_content += submit_tag 
    end 

    page_content 
    end 
end 

# View 
<%= build_me_a_form(some_path, ['name', 'Email', 'Phone']) %> 

這應該讓你至少開始,你可以擴展到接受字段名稱和類型例如哈希,你可能還需要有替代版本接受對象並構建form_for(object)而不是標籤或生成標籤...

相關問題