gpt4 book ai didi

ruby-on-rails - form_for 嵌套资源(单数)未使用正确的路径助手

转载 作者:数据小太阳 更新时间:2023-10-29 08:23:40 28 4
gpt4 key购买 nike

我可能在做一些愚蠢的事情,但是......

应用/模型/user.rb:

class User < ActiveRecord::Base
has_one :totem

配置/路由.rb:

resources :users do
resource :totem
end

app/controllers/totems_controller.rb:

class TotemsController < ApplicationController

before_filter do
@user = User.find(params[:user_id])
end

def new
@totem = @user.build_totem
end

end

app/views/totems/new.html.erb:

<%= form_for [@user, @totem] do |f| %>
<% end %>

然后,当我导航到 /users/123/totem/new 时,出现错误:

ActionView::Template::Error (undefined method `user_totems_path' for #<#<Class:0x007f9d3c843b00>:0x007f9d3bb6dd68>):

但是因为我在 routes.rb 中使用 resource :totem 而不是 resources :totems ,它应该使用的路径助手是 user_totem_path。为什么它不尝试使用正确的路径助手?

最佳答案

在另一个问题中找到我的答案:Ruby on rails: singular resource and form_for

应用/模型/totem.rb:

class Totem < ActiveRecord::Base
model_name.instance_variable_set :@route_key, 'totem'
belongs_to :user
end

(不知道为什么这个问答没有出现在我之前的搜索中...)

关于ruby-on-rails - form_for 嵌套资源(单数)未使用正确的路径助手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16849772/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com