Errore in corso durante il tentativo di configurare un'applicazione di Rails 4 di base per scopi di apprendimento, quindi portami con me! Sto cercando di creare un'app per creare e visualizzare moduli Web personalizzati. Ho un modello di modulo, che ha molti campi. Sono al punto in cui sto cercando di ottenere il lavoro opinione che mi permetterà di creare un nuovo record campo collegato a una specifica forma:Errore Rails 4: impossibile scrivere l'attributo sconosciuto `html '
class Form < ActiveRecord::Base
has_many :fields
end
class Field < ActiveRecord::Base
belongs_to :form
end
Sulla mia vista indice Field, che credo di avere impostare fino a correttamente per mostrare solo la campi di una forma specifica (tramite un URL del tipo/forma/1/campi), ho un collegamento come ad esempio:
<%= link_to 'New Field', new_form_field_path(@form) %>
il file/new.html.erb campi ha this:
<h1>New field</h1>
<%= render :partial => 'form', :form => @form, :field => @field %>
E il fi campi/_form.html.erb inizia così:
<%= form_for(@form, @field) do |f| %>
Il fields_controller.rb ha questo metodo definito:
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
un modulo con id 1 è già stato creato. Sembra che/forms/1/fields si presenti ok. Ma quando si fa clic sul link "Nuovo Campo", che mi porta a/forms/1/campi/nuovi, ottengo questo errore:
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"}
Sono abbastanza confuso da ciò che questo errore mi sta dicendo, in modo Sto avendo problemi a capire cosa ho fatto di sbagliato qui. Qualcuno mi può aiutare? Grazie.
Solo una piccola nota a margine: le parentesi sono facoltative. Potresti scrivere '<% = form_for [@form, @field] do | f | %> 'o' <% = form_for ([@ form, @field]) do | f | %> 'ed entrambi sarebbero corretti. Le parentesi quadre non sono opzionali, indicano che è un array. – 8bithero