gpt4 book ai didi

ruby-on-rails - 具有简单形式的未定义方法路径

转载 作者:行者123 更新时间:2023-12-04 11:05:56 25 4
gpt4 key购买 nike

我有albumspictures,其中albums hasmany pictures
这是我的routes.rb

 resources :albums do
resources :photos
end

我的路径不是 photos_path,而是 album_photos_pathmy photos/new.html.erb中,我收到此错误:
undefined method photos_path' for #<#<Class:0x5232b40>:0x3cd55a0>
我怎么能代替 photos_path简单形式写 album_photos_path

我的new.html.erb
<%= simple_form_for([@album, @photo]) do |f| %>
<%= f.error_notification %>

<div class="form-inputs">
<%= f.input :title %>
<%= f.input :description %>
</div>

<div class="form-actions">
<%= f.button :submit %>
</div>
<% end %>

最佳答案

您可以在表单中指定 url 。像这样:

<%= simple_form_for @photo, url: album_photos_path do |f| %>
<%= f.error_notification %>

<div class="form-inputs">
<%= f.input :title %>
<%= f.input :description %>
</div>

<div class="form-actions">
<%= f.button :submit %>
</div>
<% end %>
但是您的代码也应该可以使用。在您的新操作中,您是否同时初始化了@album和@photo ,类似于:
def new
@album = Album.find params[:album_id]
@photo = @album.pictures.build
end
上面的P.S代码只是一个示例代码,如果两个变量(@album和@photo)都正确初始化,则rails将自动生成正确的url。

关于ruby-on-rails - 具有简单形式的未定义方法路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25086366/

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