J'essaie d'obtenir une relation 1 à 1 simple dans Rails 3 où un utilisateur peut se connecter à un compte bancaire.relation un-à-un dans Rails
class User < ActiveRecord::Base
has_one :bank
accepts_nested_attributes_for :bank
attr_accessible :bank_attributes
end
class Bank < ActiveRecord::Base
belongs_to :user
end
Route
resources :users do
resources :bank
Maintenant, quand je construis un nouvel objet bancaire pour un utilisateur dans les utilisateurs/1/banque/nouvelle comme ceci:
def new
@user = User.find(current_user.id)
@bank = @user.build_bank
end
je reçois une erreur sur mon pour qui ressemble à ceci:
<%= simple_form_for(@bank) do |f| %>
L'erreur est:
undefined method `banks_path' for #<#<Class:0x007fa7bd090f08>:0x007fa7c0545b40>
Mon but est d'avoir un formulaire pour un utilisateur d'y ajouter des informations de compte bancaire .. L'espoir que quelqu'un peut me aider dans la bonne direction pour ce faire. J'utilise aussi ActiveAdmin et la relation avec les formulaires etc fonctionne bien ici.
Toute aide est appréciée!
mais pas sûr, je suppose que vous devez déclarer la ressource de route au pluriel, même si elle est 1-1 association. alors essayez 'resources: banks'. si vous faites ainsi, vous devrez renommer le contrôleur 'BanksController' dans' banks_controller.rb' – HungryCoder
Thx HungryCoder votre solution a fonctionné .. Je ne comprends toujours pas pourquoi la banque devait être plurielle mais cela fonctionne maintenant. – Daniel
Je l'ajoute comme réponse pour que vous puissiez l'accepter. ça va nous aider tous les deux :) – HungryCoder