gpt4 book ai didi

scope - form_for 和作用域,rails 3

转载 作者:行者123 更新时间:2023-12-04 09:28:59 26 4
gpt4 key购买 nike

由于范围和 rails 3 中的 form_for 助手,我遇到了问题。
路线 - 文件如下所示:

scope "(/:tab)" do
resources :article
end

表格看起来像这样:
<%= form_for(@article) %>
<%= f.label :title %>
<%= f.text_field :title %>
etc.
<%end%>

tab - 属性作为字符串存储在 params[:tab] 中
我的问题是这会在表单中生成错误的 url。我怎么能让这个工作?
流派的 url article_path(params[:tab], @article) 工作得很好

最佳答案

我想出的答案非常难看,但适用于更新和创建:

<%= form_for(@article, :url => (@article.new_record? ? 
articles_path(params[:tab]) : article_path(params[:tab], @article) do |f| %>

更新:
更好的解决方案是将 default_url_options-method 覆盖为如下所示:
def default_url_options(options={})
{ :tab => params[:tab] }
end

然后 <%= form_for @article 做 |f| %> 可以使用,并且所有 url 都正确生成

关于scope - form_for 和作用域,rails 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3741979/

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