私はRails3の初心者ですが、私は奇妙な問題を抱えています。 googleとStackOverflowでしばらく検索した後、私は自分の質問を書き留めることにしました。未定義のメソッドunexisting_url
私はCompetencia
モデルとPartida
モデルを持っています。 Competencia has_many :partidas
およびPartidas belongs_to :competencia
。
- 私は、ネストされたリソースでの作業と私のコードは次のようになります。
routes.rbを
resources :competencias do
resources :partidas
end
partidas_controller.rb
class PartidasController < ApplicationController
def new
@competencia = Competencia.find(params[:competencia_id])
@partida = @competencia.partidas.build
end
def create
@competencia = Competencia.find(params[:competencia_id])
@partida = @competencia.partidas.build(params[:partida])
if @partida.save then #blabla end
end
end
ビュー/ partidas /new.html.erb
<%= form_for [@competencia, @partida], :url => competencia_partidas_path(@competencia) do |f| %>
<!--blabla-->
<% end %>
は、私はそれが(特別に - 私は、カスタムアクションを使用していない場合)form_for
ヘルパーでURLを指定するための正しい方法をisn'tことを知っているが、それは、私はそれを仕事ができる唯一の方法でした。私はこのような何かを書いたとき、私はルートを確認
Showing /Users/ks/rails/projects/chronos/app/views/partidas/new.html.erb where line #4 raised:
undefined method `competencium_partidas_path' for #<#<Class:0x00000101718548>:0x00000101713728>
(すくいルート)すべてがうまくなるようだ:<%= form_for [@competencia, @partida] do |f| %>
I'veはこのエラーを得ました。
competencia_partidas GET /competencias/:competencia_id/partidas(.:format) {:action=>"index", :controller=>"partidas"}
POST /competencias/:competencia_id/partidas(.:format) {:action=>"create", :controller=>"partidas"}
new_competencia_partida GET /competencias/:competencia_id/partidas/new(.:format) {:action=>"new", :controller=>"partidas"}
competencium名前はどこから来た誰かが私に説明できます?。これを解決する正しい方法は何でしょうか?
私はインフレクターについてさらに読むことになり、また私の名前を英語に切り替えることを検討します。迅速な回答をいただきありがとうございます。それは非常に有用だった、私はより多くの情報を研究することができます。 – Kerlos