我正在尝试构建一个应用程序,人们可以来这里注册某些程序。
通过申请表,我需要有不同类型的问题,一些文本字段,一些文本区域,一些选择和一些复选框。
目前,我已经创建了一个包含内容的模型问题。我在考虑创建一个问题类型模型或不同的模型(每种问题类型一个),这样在创建表单时,用户可以选择他想问的问题的类型。
以下是问题模型:
class Question < ActiveRecord::Base
belongs_to :post
end
问题表:
create_table "questions", force: true do |t|
t.datetime "created_at"
t.datetime "updated_at"
t.integer "post_id"
t.text "content"
end
目前,在_form.rb中:
<%= form_for @post do |f| %>
<%= f.fields_for :questions do |qform| %>
<% render 'question_fields', :f => qform %>
<% end %>
<p><%= link_to_add_fields "Add text area", f, :questions %></p>
<% end %>
_question_fields.rb:
<p>
<%= f.label :content, "Question" %>
<%= f.text_area :content %><br>
<%= f.check_box '_destroy' %>
</p>
javascript函数是:
In application_helper.rb :
def link_to_add_fields(name, f, association)
new_object = f.object.class.reflect_on_association(association).klass.new
fields = f.fields_for(association, new_object, :child_index => "new_#{association}") do |builder|
render(association.to_s.singularize + "_fields", :f => builder)
end
link_to_function(name, "add_fields(this, \"#{association}\", \"#{escape_javascript(fields)}\")")
end
In application.js :
function add_fields(link, association, content) {
var new_id = new Date().getTime();
var regexp = new RegExp("new_" + association, "g")
$(link).parent().before(content.replace(regexp, new_id));
}
怎么做?
答案 0 :(得分:0)
如果您想开展调查,问卷调查,测验..那么请尝试Surveyor Gem。 它可以让您在应用程序中生成问卷。看看这个: