0

次のエラーが表示されます。

undefined method `campaign_fax_path' for #<ActionView::Base:0xb6515200>

次のように定義されたルートがあります。

map.resources campaigns, :has_many => :faxes

ここでエラーが発生します:

NoMethodError in Faxes#edit

Showing app/views/faxes/_form.html.erb where line #1 raised

私はかなり基本的なフォームを使用します:

 <% form_for [@campaign, @fax] do |f| %>
  2   <%= f.error_messages %>
  3   <p>
  4     Campaign:
  5     <%= link_to @campaign.name, campaign_path(@campaign) %>
  6   </p>

レーキ ルートを実行するとき | grep "campaign_fax*" 次の結果が得られます。

         campaign_faxes GET    /campaigns/:campaign_id/faxes(.:format)               {:action=>"index", :controller=>"faxes"}
       new_campaign_fax GET    /campaigns/:campaign_id/faxes/new(.:format)           {:action=>"new", :controller=>"faxes"}
4

2 に答える 2

1

Rails 2.3.Xを使用していると仮定しています

これをroutes.rbで試してください

map.resources campaigns do |campaigns|
  campaigns.resources :faxes
end

参照: Rails ガイドのネストされたルートのセクション

于 2010-12-18T03:17:31.470 に答える
0

行番号 1 が発生した app/views/faxes/_form.html.erb を表示

パーシャルに何か問題があるのか​​もしれません。チェックしましたか?

map.resources campaigns, :has_many => :faxes **is that correct? I don't think so... maybe is:

map.resources campaign, :has_many => :faxes or

map.resources campaign, :has_many => :faxes

map.resources fax, :has_many => :campaigns
于 2010-12-18T02:27:35.090 に答える