###前提・実現したいこと
Rails4
簡単なQ&Aサイトを作成しました。
そこで解決した質問は「解決済み」
未解決の時は「未解決」
とクリックすると表示が切り替わるボタン(リンク)を作成しました。
このボタンは、questionsテーブルに is_solved カラムをbooleanで作成してAjaxで表示が切り替わるようにしています。
今回実現したいのは、このボタンが未解決の時は黒色。
解決済みになったら赤色。
などと表示されている状況によって文字の色を変えたりしたいです。
###発生している問題・エラーメッセージ
<p class="解決済み">...</p> <p class="未解決">...</p> みたいにすれば、状況によって表示のデザインを切り替えられるのかな? と思ったのですが、この解決済みや未解決に入れるデータが分からず実現できずにいます。どのようにしたら実現できるのか教えてください。
###該当のソースコード
現在ボタンは以下のような記述で作成して表示しています。
question_controller.rb
ruby
1 2# 略 3 def make_resolved 4 @question = Question.find(params[:question_id]) 5 if @question.update(is_solved: true) 6 // 7 end 8 respond_to do |format| 9 format.html{render :show} 10 format.js{} 11 end 12 end 13# 略 14end
views/questions/show.html.erb
ruby
1# 略 2<div id='ajax_button'> 3 <%= render :partial=>'make_resolved' , locals: {question: @question} %> 4</div>
views/questions/_make_resolved.html.erb
ruby
1<%= link_to(question.is_solved ? '解決済み':'受付中',{controller: :questions,action: :make_resolved, question_id: @question.id, remote: true}) %>
views/questions/make_resolved.js.erb
ruby
1$("#ajax_button").children().remove(); 2$("#ajax_button").append('<%= escape_javascript render :partial => "make_resolved" ,locals: {question: @question},:layout => false %>');
説明が分かりづらい点もあるかもしれませんが、よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/15 13:50