Я пытаюсь смоделировать непосредственную связь с моей моделью устройства и по какой-то причине не могу получить доступ к пути редактирования для зависимой модели. Вот что я имею в виду:
У меня есть CRUD-контроллер для модели User и Credential. Пользователь - модель устройства.
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>}
Пожалуйста, помогите.
Спасибо.