これはおそらく非常に単純ですが、私はしばらく Rails をいじっていません。
したがって、レポートとレシートの 2 つのモデルがあります。各レポートには多くの領収書があるため、私のモデルは次のようになります。
class Report < ActiveRecord::Base
has_many :receipts, :dependent => :destroy
accepts_nested_attributes_for :receipts, :allow_destroy => true
attr_protected :id
end
class Receipt < ActiveRecord::Base
belongs_to :report
attr_protected :id
validates_presence_of :vendor, :date, :description, :amount, :acctCode
end
私のレシートコントローラーはコントローラーフォルダーのルートにあり、すべてのアクションがリストされています(スキャフォールドによって生成されました)
私のルートは次のとおりです。
root :to => "index#index"
resources :reports do
resources :receipts
end
私のlink_toは次のようになります:
<%= link_to 'New Receipt', new_report_receipt_path, :class=>"btn btn-success" %>
エラーが表示されます:
No route matches {:action=>"new", :controller=>"receipts"}
rake routes を実行したところ、次の結果が得られました。
report_receipts GET /reports/:report_id/receipts(.:format) receipts#index
POST /reports/:report_id/receipts(.:format) receipts#create
new_report_receipt GET /reports/:report_id/receipts/new(.:format) receipts#new
edit_report_receipt GET /reports/:report_id/receipts/:id/edit(.:format) receipts#edit
report_receipt GET /reports/:report_id/receipts/:id(.:format) receipts#show
PUT /reports/:report_id/receipts/:id(.:format) receipts#update
DELETE /reports/:report_id/receipts/:id(.:format) receipts#destroy
何を与える?