我有一个针对嵌套对话的自引用Post模型。父帖子使用部分_post和_form呈现子帖子。每个帖子都有典型的“回复”,“编辑”和“删除”的粗略行为。
问题:子回复的编辑操作会抛出“UrlGenerationError Missing Required Keys [:id]”错误,即使请求中存在ID参数也是如此。然而,删除操作工作正常,所有操作也可以在父Post中正常工作。
post.rb:
has_many :child_posts, class_name: "Post", foreign_key: "parent_post_id"
belongs_to :parent_post, class_name: "Post", optional: true
routes.rb中:
resources :posts
_post.html.erb:
<%= link_to 'Edit', edit_post_path(post.id), ... %>
_form.html.erb :(错误发生在<%= form_for post do |f| %>
标记处。)
<% puts params.inspect # -> <ActionController::Parameters {"controller"=>"posts", "action"=>"edit", "id"=>"123"} permitted: false> %>
<%= form_for post do |f| %>
...
很高兴展示更多 - 这似乎是最相关的。想法?
答案 0 :(得分:0)
这是由我在has_permalink gem中引入的冲突引起的。 (宝石按预期工作)