我正在尝试为我的帖子对象编写一个编辑动作,它嵌套在项目中。从它的外观我应该做的一切,但由于某种原因,当我下载加载表单时,此错误消息显示“表单中的第一个参数不能包含nil或为空”
发送的参数是正确的“project_id”=>“308”,“id”=>“41”,但似乎表单不知道如何处理它们。
形式
.....
<div class="row">
<div class="col-md-12" id="postform">
<%= form_for ([@project, @post]), html: { multipart: true } do |f| %>
....
视图
....
<% if current_user?(post.user) %>
<%= link_to edit_project_post_path(@project, post ) do %>
....
控制器
....
before_action :logged_in_user, only: [:create, :edit]
def edit
@project = Project.find(params[:project_id])
@post = @project.posts.find(params[:id])
end
....
post是项目的嵌套对象,因此它已在路由文件上配置。
可能导致此问题的任何想法?
我想也许我需要在表单上指定这些值用于...
感谢您的帮助
----编辑----
resources :projects do
resources :comments,:posts
end
resources :posts, only: [:create, :destroy, :edit]
答案 0 :(得分:0)
form_for不适用于multipart:true,请尝试删除或尝试使用form_tag。
最好的问候。