Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Ruby on Rails上的动态调查创建_Ruby On Rails_Ruby_Ruby On Rails 3.1 - Fatal编程技术网

Ruby on rails Ruby on Rails上的动态调查创建

Ruby on rails Ruby on Rails上的动态调查创建,ruby-on-rails,ruby,ruby-on-rails-3.1,Ruby On Rails,Ruby,Ruby On Rails 3.1,我希望用户创建一个事件,在此事件上,他们需要能够创建一个动态表单,以便用户“注册”事件(动态创建字段)。然后提交到此表单的数据将存储在数据库中。我用了大部分时间才达到现在的水平 到目前为止,我的结构如下所示: class Admin::Event < ActiveRecord::Base attr_accessible :body, :date, :title, :end_date, :status, :event_location_id, :payment, :fields_attr

我希望用户创建一个事件,在此事件上,他们需要能够创建一个动态表单,以便用户“注册”事件(动态创建字段)。然后提交到此表单的数据将存储在数据库中。我用了大部分时间才达到现在的水平

到目前为止,我的结构如下所示:

class Admin::Event < ActiveRecord::Base
  attr_accessible :body, :date, :title, :end_date, :status, :event_location_id, :payment, :fields_attributes, :answers

  belongs_to :event_location

  has_many :fields, class_name: "Admin::EventField"
  has_many :event_surveys
  accepts_nested_attributes_for :fields, allow_destroy: true

end
Show.html.erb:

<%= form_for @event_survey_answer do |f| %>
<% if @event_survey_answer.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@event_survey_answer.errors.count, "error") %> prohibited this event_survey_answer from being saved:</h2>

      <ul>
      <% @event_survey_answer.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

  <% f.fields_for :admin_event do %>
    <%= @event.fields.each do |field| %>
        <%= render "admin/events/fields/#{field.field_type}", locals: { field: field, f: builder }  %>
    <% end %>
  <% end %>


  <%= f.submit %>
<% end %>

builder
替换为
f
@apreading now I get
未定义的局部变量或方法“f”
在部分_text\u field.html.erb上显示_text\u field.html的代码。erb@SachinSingh

使用此行而不是
class Admin::EventSurvey < ActiveRecord::Base
  attr_accessible :admin_event_id, :answers

  has_one :admin_event, :class_name => "Admin::Event"
  accepts_nested_attributes_for :admin_event, :allow_destroy => true

  serialize :answers, Hash
end
  # Admin::EventsController 

  # GET /events/1
  # GET /events/1.json
  def show
    @event = Admin::Event.find(params[:id])
    @event_survey_answer = Admin::EventSurvey.new(admin_event_id: params[:id])

    respond_to do |format|
      format.html # show.html.erb
      format.json { render json: @event }
    end
  end
<%= form_for @event_survey_answer do |f| %>
<% if @event_survey_answer.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@event_survey_answer.errors.count, "error") %> prohibited this event_survey_answer from being saved:</h2>

      <ul>
      <% @event_survey_answer.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

  <% f.fields_for :admin_event do %>
    <%= @event.fields.each do |field| %>
        <%= render "admin/events/fields/#{field.field_type}", locals: { field: field, f: builder }  %>
    <% end %>
  <% end %>


  <%= f.submit %>
<% end %>
undefined local variable or method `builder'