我有嵌套在課程資源評價資源的form_for未提交:
的routes.rb:導軌形式使用使用POST方法
我想表明的形式給予的任何顯示頁面的評論課程。
comments_controller.rb:
class CommentsController < ApplicationController
before_action :require_user
before_action :set_course, only: [:new]
def new
@comment = Comment.new
end
def create
@comment = Comment.new(comment_params)
@comment.course = Course.find(params[:course_id])
@comment.user = current_user
if @comment.save
flash[:success] = "Comment Posted"
redirect_to course_path(@comment.course)
else
flash[:error] = "Comment can't posted"
redirect_to course_path(@comment.course)
end
end
private
def set_course
@course = Course.find(params[:course_id])
end
def comment_params
params.require(:comment).permit(:body ,:rating, :course_id, :user_id)
end
end
我已經把@comment = Comment.new在我的課程中控制器的表演動作。
我使用在視圖中的形式爲:
<%=的form_for([@當然,@comment],方法: 「後」,:URL => course_comments_path(@course,@comment))做| F | %>
<div class="rrating" style="width:140px;">
<%= f.radio_button(:rating, 1) %>
<%= f.label(:rating_1, "1") %>
<%= f.radio_button(:rating, 2) %>
<%= f.label(:rating_2, "2") %>
<%= f.radio_button(:rating, 3) %>
<%= f.label(:rating_3, "3") %>
<%= f.radio_button(:rating, 4) %>
<%= f.label(:rating_4, "4") %>
<%= f.radio_button(:rating, 5) %>
<%= f.label(:rating_5, "5") %>
</div>
<%= f.text_field :body, :class => "form-control", id: "exampleInputEmail1", placeholder: "Add a comment" %>
</fieldset>
<%= f.submit("Post", class: 'btn btn-success') %>
<% end %>
</form>
當我點擊提交,GET請求被髮送到同一頁我在目前(與url中所有PARAMS)。
我試圖把表單放在一個單獨的新頁面的意見,它仍然沒有工作。 我在做什麼錯?
嘗試的form_for這樣,'<(%)=的form_for([@當然,@comment],:URL => course_comments_path(@course,@comment),方法: 「後」)做| F | %>'將Url作爲第二個參數 – Sravan
任何人都有任何解決方案...我仍然無法得到這個工作... –