代码之家  ›  专栏  ›  技术社区  ›  Igbanam

具有设计模型的一对一映射

  •  0
  • Igbanam  · 技术社区  · 14 年前

    我正试图用我的设计模型建立一对一的关联,由于某种原因,我无法访问依赖模型的编辑路径。我的意思是:

    我有一个用于用户和凭证模型的CRUD控制器。用户是一个设计模型。

    class Credential < ActiveRecord::Base
      belongs_to :user
    end
    
    class User < ActiveRecord::Base
      has_one :credential
    
      # Include default devise modules. Others available are:
      # :token_authenticatable, :confirmable, :lockable and :timeoutable
      devise :database_authenticatable, :registerable,
             :recoverable, :rememberable, :trackable, :validatable
    
      # Setup accessible (or protected) attributes for your model
      attr_accessible :email, :password, :password_confirmation, :remember_me
    end
    

    我在一个名为Home的操作下有一个名为Welcome的控制器的主页。我的路由文件设置如下:

    get "welcome/home"
    devise_for :users
    resources :users
    resources :credentials
    

    在主视图中,在创建新用户时,我尝试使用

    <% if user_signed_in? %>
        <% current_user.build_credential unless current_user.credential %>
        <% if current_user.sign_in_count < 5 %>
            <%= link_to "update profile", edit_credential_path(current_user.credential) %>
        <% end %>
    <% end %>
    

    link_to 台词:

    No route matches {:action=>"edit", :controller=>"credentials", :id=>#<Credential id: nil, created_at: nil, updated_at: nil, first_name: nil, last_name: nil, user_id: 3>}
    

    请帮忙。

    谢谢。

    1 回复  |  直到 14 年前
        1
  •  0
  •   Rutger Karlsson    13 年前

    查看您的路线: 耙路