railsでリンクパスを作成するときに、
events/123/tickets/1
のようにIDを指定するのではなく、
events/123/tickets/last
のlastように、
リソースパスに文字列を指定する方法。
うまくいく方法
シンボルを渡せばよいだけでした。
event_ticket_path(@event, :last) #=> /events/123/tickets/last
# routes.rb Rails.application.routes.draw do resources :events do resources :tickets end end
うまくいかない方法
モデルのIDに文字列を渡したところ、0に変換されてしまいました。
ticket = @event.tickets.build(id: 'last') event_ticket_path(@event, ticket) #=> /events/123/tickets/0