Rails: динамически генерируемый путь добавляет точку и идентификатор в конце - PullRequest
9 голосов
/ 02 мая 2011

У меня есть следующее:

# /config/routes.rb
resources :employees, :as => :firm_employments, :controller => :firm_employments do
  resource :user_account
end

Однако я получаю следующее:

@firm_employment = FirmEmployment.find(1)
@user_account = @firm_employment.employee.user_account
firm_employment_user_account_path(@firm_employment, @user_account) # => '/employees/1/user_account.3'

Почему точка и идентификатор @user_account добавляются к этому пути? Я пытаюсь заставить его вернуться просто: "/ employee / 1 / user_account"

Заранее спасибо.

1 Ответ

9 голосов
/ 02 мая 2011

Если есть только один из определенного ресурса, то вы не передаете идентификатор, так как он неявный:

firm_employment_user_account_path(@firm_employment)

То, что вы делаете, это предоставление @user_account в качестве опции :format, так что, конечно, это происходит в конце после периода.

Если у вас более одного, вам нужно определить маршрут по-другому:

resources :user_accounts
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...