2017-01-12 4 views
0

私はactsbibliographyauthorsを含むいくつかのモデルで作業しています。これらのモデルの管理操作がnamespace管理の下でグループ化されるように、ルートを編成しようとしています。rails namespace nomethodエラー

これは私のroutes.rbを次のとおりです。これは、A誘発

<% @bib.auteurs.each do |l| %> 
    <%= l.nom_complet %>, 
<% end %> 
<%= @bib.titre %>, <%= @bib.lieu %>, <%= @bib.annee %> 

:nouveau.html.erbで

class Administration::ActesController < ApplicationController 

    def nouveau 
    @titre = "Fons - ajouter un acte" 
    @bib = Biblio.find(params[:id]) 
    @bibid = @bib.id 
    end 

私はこれを行う:

namespace :administration do 
    resources :actes, path: 'actes', path_names: { new: 'nouveau', edit: 'editer' }, except: [:chercher, :voir] 
    get 'actes/nouveau/:id' => 'actes#nouveau', as: 'nouvel_acte' 
    post 'actes/nouveau/:id' => 'actes#ajouter' 
end 

私のコントローラはこれを持っていますNoMethodError:undefined method 'auteurs'。私は@bibメソッドが知らないことが判明しました - それはレールコンソールでうまく動作しますが。

+0

あなたは何をしようとしていますか? – Anthony

+0

このコードはすべてフォームの前に書かれているので、フォームの投稿先のURLはこれに影響を与えてはいけません(または何か不足していますか?) – thiebo

+0

あなたはparamsで 'biblio'を探しています。コントローラ... – Anthony

答えて

0

私はここに二つのオプションを参照してください。

  1. @bibオブジェクトがnilあるので、あなたはNilClassのための未定義のメソッドエラーが発生します。
  2. BibliographyAuteurクラスの関係はありません。最初のクラスにはhas_many :auteursのような文を書くべきです。

エラーメッセージ全体をここに貼り付けることができれば、より具体的になります。お役に立てれば!

関連する問題