そのため、いくつかのメッセージを含むページがあり、それぞれにそのメッセージの評価を変更 (改良) するリンクがあります。ユーザーがこのリンクをクリックすると、そのメッセージのデータベース内の対応する列の値を更新する AJAX 呼び出しが必要です。このリンクをクリックしても、何も表示されません。ページの更新や再読み込みはありません。
link_to remote: true を使用してこれを実行しようとしましたが、うまくいかないようです。この質問に関するオンラインのドキュメントはかなり不明確であり、Rails 2 と 3 の間の変更により、:with のようなものはサポートされなくなりました。
私はこれまでに持っているものをコピーしましたが、解決にはほど遠いことを知っています. データベースに渡す必要があるパラメーターに関しては、profile_id、message_id、および new_rating が必要です。
前もって感謝します!
show.html.haml
.status-bar
= link_to "", { action: :refine_result }, remote: true
profile_controller.rb
...
def refine_result
@refinement = ResultRefinement.new
@refinement.profile_id = params[:profile_id]
@refinement.message_id = params[:message_id]
@refinement.save
respond_to do |format|
format.html { render nothing: true }
format.js { render nothing: true }
end
end
result_refinement.rb
class ResultRefinement < ActiveRecord::Base
attr_accessible :profile_id, :message_id, :new_rating, :deleted
belongs_to :profile
end