私のroutes.rb:
post 'home/review'
私のhome_conrtoller.rb:
def review
@review = Review.new(review_params)
@review.image = params[:review][:image]
if @review.save
respond_to do |format|
format.js { render 'review', locals: {review_name: @review.review_name, review_body: @review.review_body} }
end
else
format.html { respond_to root_path}
end
end
private
def review_params
params.require(:review).permit(:review_name, :review_body, :image)
end
私のreview.js:
$(function() {
var theHTML = [];
theHTML.push('somewhat');
$(".wrap-body").append(theHTML.join(''));
});
私のindex.html.erb
<%= form_tag home_review_path, :method => 'post', :multipart => true, :remote => true do %>
<%= text_area_tag 'review[review_body]'%>
<%= text_field_tag 'review[review_name]'%>
<%= file_field_tag 'review[image]' %> <==== problem !!!
<%= submit_tag 'Send'%>
<%end %>
<% = file_field_tag 'review [image]'%>
問題: index.html.erbを追加する
と、Rails はエラーをスローします:
ActionController :: HomeController の UnknownFormat#review
しかし、index.html.erb レールのフィールド<% = file_field_tag 'review [image]'%>
が no を返した場合は、review.js !!!
レールが常にreview.jsを返し、ページをリロードしないhome_controller.rbのindex.html.erbまたはアクションを変更するにはどうすればよいですか?
私の英語でごめんなさい((