用其他语言工作了几个月,并试图回到Rails。
如果我有模型House
和模型Door
,那么Door
belongs_to
House
和House
has_many {{1 }}
如果我想向Doors
添加door
,请使用此路线:
house
或者是
add_door_path
如果是这样,我如何将add_door_path(@house)
嵌入其中?或者我是否需要为此创建新路线?它是标准house_id
的一部分还是完全自定义的?
答案 0 :(得分:2)
如果你有
# routes.rb
resources :house do
resources :doors
end
然后你会house_doors_path(@house)
那是因为在您的路线中,您已指定门嵌套在房屋内。您需要内部参数,因为路径需要房屋ID。
要检查路线,请转到http://localhost:3000/rails/info/routes
。
如果另一方面,如果你有
# routes.rb
post '/door/' => 'doors#create', as: :add_door
新门不知道它属于哪个房子。所以你可以添加
post '/house/:id/door ...
你还需要一个房子参数,所以你的语法是add_door_path(@house)
我希望能回答你的问题。