我想從表單創建帖子。這是我做了什麼,到目前爲止的工作:在每個網站上發佈新表單
查看
<%= 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