のための未定義のメソッド `my_teas_path '@tea
(表示ページ)の属性を使用して@my_tea
を作成するボタンを最初のレイルプロジェクトで行います。#<#<クラス:0xa8930c8>:0xa578cf8>
'未定義のメソッド `my_teas_path' #<#について:これは私が取得していますエラーです私は_new部分の内側my_teasでフォームを持つ試してみました0xa578cf8>
/、紅茶内部/ _add_teaはどちらも私に同じエラーを与えています。とにかくここに私のコードがあります。 ビュー:
<%= form_for([@user, @my_tea]) do |f| %>
<%= f.hidden_field :name, :value => @tea.name %>
<%= f.hidden_field :tea_type, :value => @tea.tea_type %>
<%= f.hidden_field :store, :value => @tea.store %>
<%= f.hidden_field :user_id, :value => current_user.id %>
<%= fields_for [@user, @tea_relationship] do |r| %>
<%= r.hidden_field :tea_id, :value => @tea.id %>
<% end %>
<%= f.submit "Add Tea", class: "btn btn-large btn-primary" %>
<% end %>
my_teaコントローラ
def new
@my_tea = MyTea.new
end
def show
@my_tea = MyTea.find(params[:id])
end
def create
@my_tea = MyTea.new(params[:my_tea])
if @my_tea.save
flash[:success] = "Tea added to your teas!"
else
redirect_to user_path
end
end
茶コントローラ:
def show
@tea = Tea.find(params[:id])
@my_tea = MyTea.new
@tea_relationship = TeaRelationship.new
end
ルート
resources :users do
resources :my_teas
end
resources :teas
モデル:
class User < ActiveRecord::Base
has_many :my_teas, :dependent => :destroy
has_many :tea_relationships, :dependent => :destroy
class MyTea < ActiveRecord::Base
belongs_to :user
class TeaRelationship < ActiveRecord::Base
belongs_to :user, class_name: "User"
end
茶のモデルは何にも属しません。
レールのコミュニティを助けてください、あなたの私の唯一の希望:P
更新 それが動作します。この
<%= form_for([@user, @my_tea]) do |f| %>
<%= f.hidden_field :name, :value => @tea.name %>
<%= f.hidden_field :tea_type, :value => @tea.tea_type %>
<%= f.hidden_field :store, :value => @tea.store %>
<%= f.hidden_field :user_id, :value => current_user.id %>
<%= fields_for @tea_relationship do |r| %>
<%= r.hidden_field :tea_id, :value => @tea.id %>
<% end %>
<%= f.submit "Add Tea", class: "btn btn-large btn-primary" %>
<% end %>
と@my_teaの提出が、@tea_relationshipに自分のフォームを変更しません。
あなたの 'form_for'に' @ users'の代わりに '@ user'を使用しましたか? – pjumble
ええ、私は意味した@user – monkitman
ここに表示されているコードのどの行にエラーが発生していますか? – Mischa