我想从表单创建帖子。这是我做了什么,到目前为止的工作:在每个网站上发布新表单
查看
<%= form_for @post, url: {action: "create"}, html: { multipart: true } do |form| %>
<%= form.text_field :description %>
<%= form.file_field :image %>
<%= form.hidden_field :user_id, :value => current_user.id %>
<%= submit_tag"Post", class: "btn" %>
<% end %>
控制器
def new
@post = Post.new(params[:post])
end
def create
@post = Post.create(post_params)
if @post.save
redirect_to @post
else
render :new
end
end
def post_params
params.require(:post).permit(:description, :image, :user_id)
end
但现在我想建立一个从,这将被放置在layouts/application.html.erb
,并从各路线/站点加入。但我的问题是,变量@post
缺失,因为我解析它在邮件本身的新功能。任何想法如何解决这个问题?
我快一点点。在我发布这个问题10秒后,我发现了一个解决方案:'<%= form_for Post.new(params [:post]),url:{controller:“post”,action:“create”},html:{ multipart:true} do | form | %>' – Sylnois
但是,谢谢你:) – Sylnois