根据这个拉取请求,我可以看到一个数组应该被传递给form_with模型参数.但是,当我提供以下内容时:
<%= form_with(model: [@trip, @activity], local: true) do |f| %>
...
<% end %>
Run Code Online (Sandbox Code Playgroud)
Rails将返回 - ActionView::Template::Error (undefined method activity_path' for #<#<Class:0x007f80231e3070>:0x007f8023010dd8>):
我的路线文件如下:
resources :trips do
resources :activities
end
Run Code Online (Sandbox Code Playgroud)
输出rake routes看起来像 -
trip_activities GET /trips/:trip_id/activities(.:format) activities#index
POST /trips/:trip_id/activities(.:format) activities#create
new_trip_activity GET /trips/:trip_id/activities/new(.:format) activities#new
edit_trip_activity GET /trips/:trip_id/activities/:id/edit(.:format) activities#edit
trip_activity GET /trips/:trip_id/activities/:id(.:format) activities#show
PATCH /trips/:trip_id/activities/:id(.:format) activities#update
PUT /trips/:trip_id/activities/:id(.:format) activities#update
DELETE /trips/:trip_id/activities/:id(.:format) activities#destroy
trips GET /trips(.:format) trips#index
POST /trips(.:format) trips#create
new_trip GET /trips/new(.:format) trips#new
edit_trip GET /trips/:id/edit(.:format) …Run Code Online (Sandbox Code Playgroud) 我有这个routes.rb:
devise_for :users, :path => '', path_names:
{ sign_in: "login", sign_out: "logout", sign_up: "registration"}
Run Code Online (Sandbox Code Playgroud)
我改变sign_in了sign_up路线,如果你去sign_up你会得到 404 错误,相反/registration会工作。我想要的是以同样的方式更改和添加其他路由,例如忘记密码。如果我在控制台中输入rake routes,我会看到忘记密码:
new_user_password GET /password/new(.:format) devise/passwords#new
如何以我的自定义路由有效但默认无效的方式添加其他路由?