gpt4 book ai didi

ruby-on-rails - Rails 将参数传递给新操作

转载 作者:行者123 更新时间:2023-12-03 17:34:08 26 4
gpt4 key购买 nike

我链接到一个新 Action ,在 URL 中提供一个参数。该参数在创建操作中应该是可读的,以便我可以将其放入新创建的对象中。

具体的:
我在书架的展示页上。有一个 link_to 链接到 book 的 new-action,其参数包含书架的 id。创建书时,我想将书架的 id 放入书的外键 (bookshelf_id) 中。

我如何以 Rails 的方式做到这一点?
link_to 看起来像这样: link_to new_book_path(:bookshelf => bookshelf)
我尝试使用 @book.bookshelf 阅读和传递参数
= Bookshelf.find(params[:bookshelf])
在 create-action 中,但它是一个空字符串。

最佳答案

发布关系。如果您在书架展示页面上,您可以访问该书架实例

<%= link_to new_book_path(:bookshelf_id => params[:id]) %>

当您单击该链接时,您的网址应为 ?bookshelf_id=123(或其他)

然后,要从新页面访问该参数,您可以在表单中执行此操作(假设它是传统的 rails 表单):
<%= f.hidden_field :bookshelf_id, value: params['bookshelf_id'] %>

如果您采用这种方法,则无需执行任何其他操作。只需像往常一样传递参数即可。

如果您愿意,可以在 Controller 中访问此参数:
bookshelf_id = params['bookshelf_id']

您可以将其设置在那里,然后将其添加到您正在创建的对象中。

关于ruby-on-rails - Rails 将参数传递给新操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36000155/

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