0

私は Rails でこの種のことに苦労し続けています。特定の都市の統計レコードを作成しようとしています。モデルを貼り付ける必要はないと思いますか? 以下は、エラー、URL、ビュー、およびコントローラーのコードです。

これが私のエラーです:

NoMethodError in Statistics#new
Showing new.html.haml where line #2 raised:
undefined method `statistics_path' for #<#<Class:0x007faf5e172928>:0x007faf5e717ef0>

私が行く道は次のとおりです。

http://127.0.0.1:3000/cities/1/statistics/new

ルート:

city_statistics GET    /cities/:city_id/statistics(.:format)          statistics#index
                         POST   /cities/:city_id/statistics(.:format)          statistics#create
  new_city_statistic GET    /cities/:city_id/statistics/new(.:format)      statistics#new
 edit_city_statistic GET    /cities/:city_id/statistics/:id/edit(.:format) statistics#edit
      city_statistic GET    /cities/:city_id/statistics/:id(.:format)      statistics#show
                         PUT    /cities/:city_id/statistics/:id(.:format)      statistics#update
                         DELETE /cities/:city_id/statistics/:id(.:format)      statistics#destroy
               cities GET    /cities(.:format)                                  cities#index
                         POST   /cities(.:format)                                  cities#create
            new_city GET    /cities/new(.:format)                              cities#new
           edit_city GET    /cities/:id/edit(.:format)                         cities#edit
                city GET    /cities/:id(.:format)                              cities#show
                         PUT    /cities/:id(.:format)                              cities#update
                         DELETE /cities/:id(.:format)                              cities#destroy

routes.rb:

resources :cities do
   resources :statistics
end

routes.rb:

コントローラ:

def new
  @statistic = Statistic.new

  respond_to do |format|
    format.html # new.html.haml
    format.json { render :json => @statistic }
  end
end

意見:

%legend New Stat
= form_for(@statistic) do |f| ###### ERROR HERE #######
  = f.label :city_id
  = f.text_field :city_id
  .actions
    = f.submit "Add", :id => "add-statistic", :class => "btn btn-primary"

EDIT追加されたroutes.rb

4

2 に答える 2

1

2つのこと。

  1. @nathan が指している英語の都市の複数形は都市であるため、ルートに問題があるため、名前を変更した可能性がありますか? (含めてくださいroutes.rb)
  2. 都市のネストされたリソースである statictic のルートがあるため、フォームヘルパーの場合は渡す必要があります

= form_for([@city, @statistic]) do |f|

于 2013-07-12T19:15:36.190 に答える
-1

citysの代わりにあなたのパスファイルが表示されますcities。おそらく、ActiveResource の複数形化の問題に悩まされたことはありませんか?

于 2013-07-12T19:11:13.473 に答える