データを保存しようとしていますが、データを送信する際にページを更新するだけですが、実際にはテーブルにデータを保存しません。それでもエラーを出すことはありません。私がしたいことは、データを保存した後、コントロールは空のテキストボックスで同じページに来るべきです。 Rubyの2.4.1、Railsの5.1.3を使用してデータがRailsアプリケーションに保存されていません
、sqlite3の
これはfeedback_controller.rb
class FeedbackController < ApplicationController
def new
@feedback = Feedback.new
end
def create
@feedback = Feedback.new(feedback_params)
redirect_to root_path
respond_to do |f|
if @feedback.save
f.html {redirect_to @feedback, notice: 'feedback submitted'}
f.json {render :new, status: :created, location: :@feedback}
else
f.html {render :new }
f.json {render json: @feedback.errors, status: :unprocessable_entity}
end
end
end
private
# def set_feedback
# @feedback = Feedback.find(params[:id])
# end
def feedback_params
params.require(:feedback).permit(:name, :email, :message)
end
end
そして、ここの内容ではnew.html.erbファイルです。
<%= form_with scope: :feedback, url: feedback_new_path, local: true do |form| %>
<% if @feedback.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(feedback.errors.count, "error") %> prohibited this feedback from being saved:</h2>
<ul>
<% @feedback.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= form.label :name %>
<%= form.text_field :name, id: :feedback_name %>
</div>
<div class="field">
<%= form.label :email %>
<%= form.text_field :email, id: :feedback_email %>
</div>
<div class="field">
<%= form.label :message %>
<%= form.text_area :message, id: :feedback_message %>
</div>
<div class="actions">
<%= form.submit "Submit Feedback"%>
</div>
<% end %>
<%= link_to 'Home', root_path %>
これは、データを格納しながらピューマサーバーがログに言って何です:
Started POST "/feedback/new" for 127.0.0.1 at 2017-09-14 21:33:41 +0530
Processing by FeedbackController#new as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"Dk1sGiKYryIOeU6HyO7zeX6wqXazj9BUfooJgIDH1JjHxuKwA5MT0E6zvuwFYXGA8xEOz+tGAiXWySKv7voKvg==", "feedback"=>{"name"=>"sheshang", "email"=>"[email protected]", "message"=>"this is demo message"}, "commit"=>"Submit Feedback"}
Rendering feedback/new.html.erb within layouts/application
Rendered feedback/new.html.erb within layouts/application (3.8ms)
Completed 200 OK in 75ms (Views: 55.2ms | ActiveRecord: 1.3ms)
がこの問題に加えて、私はどのようにアプリをレールにデバッグすることを知ってほしいです。 Cやその他のプログラムと同様に、コントロールが内部にあるかどうかを確認するためにprintfステートメントを使用しました。私たちはRailsでどのようにできるのですか?
私はこの技術の新しい学習者です。だから私は具体的に何をすべきか、フィードバックやフィードバックを知らない。リソースを追加したとします。私のルートにフィードバックがあります。じゃあ何? – Sheshang
私が提案した 'form_with'を更新しましたか?結果は? – jvillian
はい私は更新しました。私は私が解決できると思ういくつかの依存的なエラーが発生しています。私にそれをさせてください。後でお知らせいたします – Sheshang