gpt4 book ai didi

ruby-on-rails - 如何在 `wishlist_id` 的 `wishlist_entry` 字段中保存新愿望 list 的 ID?

转载 作者:搜寻专家 更新时间:2023-10-30 20:43:42 24 4
gpt4 key购买 nike

我想将 wishlist 的 ID 保存在 wishlist_entry 表中的列中,如 wishlist_id。我有一个像这样的 link_to 元素:

<%= link_to 'Create', new_wishlist_entry_path(:wishlist => @wishlist.id) %> 

这给了我以下网址:

http://localhost:3000/wishlist_entries/new?wishlist=36

wishlist_entry_controller 的 操作是:

def new
@wishlist_entry = WishlistEntry.new
@wishlist = Wishlist.find(params[:wishlist])
respond_to do |format|
format.html # new.html.erb
format.json { render json: @wishlist_entry }
end
end

创建 Action 是:

def create
@wishlist_entry = WishlistEntry.new(
:wishlist_id => Wishlist.find(params[:id]),
:entry_name => params[:wishlist_entry][:entry_name],
:description => params[wishlist_entry][:description]
)

我收到这个错误:

Couldn't find Wishlist without an ID
app/controllers/wishlist_entries_controller.rb:44:in `create'

错误在链接中:

:wishlist_id => Wishlist.find(params[:id]),

怎么了?如何在 wishlist_entrywishlist_id 字段中保存新心愿单的 ID?

最佳答案

我认为问题在于愿望 list ID 是在 params[:wishlist] 而不是 params[:id] 中出现的。您在 Controller 中看到的错误是因为 params[:id] 是 nil 并且 Wishlist 类不知道如何处理 Wishlist.find(nil)。

试试这个:

def create
@wishlist_entry = WishlistEntry.new(
:wishlist_id => params[:wishlist]),
:entry_name => params[:wishlist_entry][:entry_name],
:description => params[wishlist_entry][:description]
)

关于ruby-on-rails - 如何在 `wishlist_id` 的 `wishlist_entry` 字段中保存新愿望 list 的 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9231913/

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