因爲學習的目的而試圖設置一個基本的Rails 4應用程序時出現錯誤,請耐心等待!我正在嘗試創建一個應用程序來創建和顯示自定義Web表單。我有一個表單模型,它有很多字段。我在這裏,我試圖讓該視圖的工作,讓我來創建連接到特定的形成新的字段記錄了這一點:Rails 4 error:不能寫未知屬性`html'
class Form < ActiveRecord::Base
has_many :fields
end
class Field < ActiveRecord::Base
belongs_to :form
end
在我的領域指數來看,我相信我有設置正確,只顯示一個特定的形式的字段(通過像URL /形成/ 1 /場),我有一個鏈路作爲這樣:
<%= link_to 'New Field', new_form_field_path(@form) %>
的字段/ new.html.erb文件具有這個:
<h1>New field</h1>
<%= render :partial => 'form', :form => @form, :field => @field %>
而且fi視場/ _form.html.erb開始這樣的:
<%= form_for(@form, @field) do |f| %>
的fields_controller.rb具有限定的本方法:
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
A表格ID爲1已經被創建。它看起來像/形式/ 1 /領域出來確定。但是,當我點擊「新領域」的鏈接,這需要我/表格/ 1 /場/新,我得到這個錯誤:
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"}
我敢用這個錯誤是什麼告訴我困惑,所以我無法弄清楚我在這裏做錯了什麼。誰能幫我嗎?謝謝。
只是有點小提示:括號是可選的。你可以寫'<%= form_for [@form,@field] do | f | %>'或'<%= form_for([@form,@field])do | f | %>',兩者都是正確的。方括號不是可選的,它們表明它是一個數組。 – 8bithero