我正在尝试使用我的设计模型建立一对一关联,并且出于某种原因,我无法访问依赖模型的编辑路径。这就是我的意思:
我有一个用户和凭据模型的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
我在名为Welcome的控制器中名为Home的操作下有一个主页。我的路线文件设置如下:
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>}
请帮忙。
感谢。
答案 0 :(得分:0)
检查您的路线: 耙路线
您是否应确定用户是否已在视图中登录,这也值得怀疑。如果没有看到控制器,很难说这个。