我在視圖中有一個窗體的錯誤,無法得到它爲什麼會發生。我不斷收到ActionView::Template::Error (undefined method 'stage' for #<User:0x007f80045ca0e0>)
ActionView :: Template :: Error(未定義的方法`階段'爲#<用戶:0x007f80045ca0e0>)
我有兩個模型,User和Stage。用戶has_many
階段,以及階段belongs_to
給用戶。這是如下
的階段模型:對
class UsersController < ApplicationController
def show
@newMatch = current_user.matches.new
@newStage = current_user.drivepipes.new
end
end
和形式:
class Stage < ActiveRecord::Base
belongs_to :user
end
用戶模型:
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_one :user_setting
has_many :matches, dependent: :destroy
has_many :stages, dependent: :destroy
end
,並在用戶控制器我有如下show.html.erb
<%= form_for [current_user], url: user_stages_path(current_user, @newStage) do |s| %>
<%= s.text_field :stage, placeholder: "Stage" %>
<%= s.submit "Save" %>
<% end %>
這應該是'的has_many:stages',而不是'stage' – PericlesTheo
你'的has_many:stage',而不是'的has_many:stages'代碼。 – Pavan
錯字,但仍然得到相同的錯誤 – tvieira