Dans ma base de données, j'essaie d'obtenir une relation un à plusieurs entre les points de vente et les articles.
Je reçois l'erreur suivante lorsque cette relation est utilisée:Rails Méthode non identifiée Problème: méthode non définie `outlet_id '
undefined method `outlet_id' for #<Article:0x007fc353887e58>
Voici les modèles:
class Article < ActiveRecord::Base
belongs_to :analyst
belongs_to :outlet
has_and_belongs_to_many :loe
attr_accessible :article_body, :author, :distribution, :loe, :most_important, :pubdate, :publication, :state, :submitted, :summary, :title, :url, :analyst_id, :loe_ids, :outlet_id
end
class Outlet < ActiveRecord::Base
has_many :articles, foreign_key: :title
attr_accessible :distribution, :name, :state, :article_ids
end
Voici le schéma:
create_table "articles_loes", :id => false, :force => true do |t|
t.integer "article_id"
t.integer "loe_id"
end
create_table "loes", :force => true do |t|
t.string "name"
t.string "customer"
t.integer "article_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
add_index "loes", ["article_id"], :name => "index_loes_on_article_id"
create_table "outlets", :force => true do |t|
t.string "name"
t.integer "articles_id"
t.integer "distribution"
t.string "state"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
add_index "outlets", ["articles_id"], :name => "index_outlets_on_articles_id"
Et est ici la morceau de la vue qui fait appel :outlet
:
<div class="span4">
<%= f.association :loe %>
<%= f.association :outlet %>
</div>
Si quelqu'un a des idées, je les apprécierais vraiment. Je pense que je pourrais avoir besoin d'un index des points de vente dans l'article? Je ne suis pas vraiment sûr de savoir comment l'appliquer si c'est le cas. Merci d'avance.
Je pense que vous avez ajouté le "articles_id" à la table des points de vente par erreur. Vous devez avoir outlet_id dans la table des articles à la place. –