作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
自定义路由:
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_path
。 blog_path
是显示操作,而不是创建操作,因此需要一个 id(而且无论如何都不是发布路径)。以这种方式尝试。
<%= simple_form_for(@post, url: blogs_path) do |f| %>
关于ruby-on-rails - 如何将 form_for 与自定义路由一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34300930/
我是一名优秀的程序员,十分优秀!