gpt4 book ai didi

ruby-on-rails - 如何将 form_for 与自定义路由一起使用?

转载 作者:数据小太阳 更新时间:2023-10-29 08:36:38 24 4
gpt4 key购买 nike

自定义路由:

resources :blog, controller: 'posts'

如何重写这一行 <%= simple_form_for(@post, blog_path) do |f| %>摆脱以下错误?

TypeError in Posts#edit
ActionView::Template::Error (no implicit conversion of Symbol into Integer)

我也试过<%= simple_form_for(blog_path(@post)) do |f| %> ,这消除了错误,但是如果我想编辑表单,输入将清空其保存的数据。

posts_controller

  def new
@post = Post.new
respond_with(@post)
end

def edit
end

def create
@post = Post.new(post_params)
if current_user.admin
@post.save
respond_with(@post)
else
flash[:success] = 'Get out of here.'
redirect_to root_url
end
end

最佳答案

它可以采用哈希选项,包括 url,所以像这样:

编辑:将 blog_path 更改为 blogs_pathblog_path 是显示操作,而不是创建操作,因此需要一个 id(而且无论如何都不是发布路径)。以这种方式尝试。

<%= simple_form_for(@post, url: blogs_path) do |f| %>

关于ruby-on-rails - 如何将 form_for 与自定义路由一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34300930/

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