Laufen in einen Fehler, der versucht, eine grundlegende Rails 4 APP für Lernzwecke zu gründen, so erträgt mit mir! Ich versuche eine App zum Erstellen und Anzeigen von benutzerdefinierten Webformularen zu erstellen. Ich habe ein Formularmodell, das viele Felder hat. Ich bin an dem Punkt, wo ich versuche, den Blick zum Laufen zu bringen, die mir ein neues Feld Datensatz an eine bestimmte Form gebunden erstellen können:Rails 4 Fehler: kann unbekanntes Attribut `html 'nicht schreiben
class Form < ActiveRecord::Base
has_many :fields
end
class Field < ActiveRecord::Base
belongs_to :form
end
Auf meinem Feldindex Ansicht, die ich glaube, ich habe eingerichtet, um richtig nur die Felder einer bestimmten Form zeigen (über eine uRL wie/forms/1/Felder), ich habe einen Link als solche:
<%= link_to 'New Field', new_form_field_path(@form) %>
die Felder/new.html.erb Datei hat dies:
<h1>New field</h1>
<%= render :partial => 'form', :form => @form, :field => @field %>
Und die fi Felder/_form.html.erb beginnt wie folgt:
<%= form_for(@form, @field) do |f| %>
Die fields_controller.rb Diese Methode hat definiert:
def new
@form = Form.find(params[:form_id]) #unsure if this is necessary/correct, but its presence doesn't effect the error i'm getting
@field = Field.new
end
eine Form mit der ID 1 bereits erstellt wurde. Es sieht aus wie/forms/1/fields ok. Aber wenn ich die „Neues Feld“ Link klicken, die mir nimmt/forms/1/Felder/neu, bekomme ich diesen Fehler:
Showing /home/moskie/Projects/FormBuilder/app/views/fields/_form.html.erb where line #1 raised:
can't write unknown attribute `html'
Extracted source (around line #1):
<%= form_for(@form, @field) do |f| %>
<% if @field.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@field.errors.count, "error") %> prohibited this field from being saved:</h2>
Trace of template inclusion: app/views/fields/new.html.erb
Rails.root: /home/moskie/Projects/FormBuilder
Application Trace | Framework Trace | Full Trace
app/views/fields/_form.html.erb:1:in `_app_views_fields__form_html_erb___1866877160086017450_70350628427620'
app/views/fields/new.html.erb:3:in `_app_views_fields_new_html_erb___1515443138224133845_70350627074400'
Request
Parameters:
{"form_id"=>"1"}
Ich bin ziemlich verwirrt durch das, was dieser Fehler sagt mir, so Ich habe Probleme herauszufinden, was ich hier falsch gemacht habe. Kann mir jemand helfen? Vielen Dank.
Nur eine kleine Randnotiz: Die Klammern sind optional. Sie könnten '<% = form_for [@form, @field] do | f | schreiben %> 'oder' <% = form_for ([@ form, @field]) do | f | %> 'und beide wären korrekt. Die eckigen Klammern sind nicht optional, sie geben an, dass es sich um ein Array handelt. – 8bithero