2021年04月04日に参加
学習履歴詳細
HTMLのclass名を動的に変更する(2)
コントローラでインスタンス変数にハッシュを代入してViewで展開するべきか、それともlocaleを使用してrenderすべきかが分からないこと。
アプリ制作
Viewで生成したいHTML(活動量が0のとき)
活動量が0のとき、0のliタグにのみclass名を追加する。
<div class="condition-wrapper"> <div class="condition-title">活動量</div> <ul class="list-group list-group-horizontal"> <li class="list-group-item">-2</li> <li class="list-group-item">-1</li> <li class="list-group-item list-group-item-info">0</li> <li class="list-group-item">+1</li> <li class="list-group-item">+2</li> </ul> </div>
- DiariesController実装
- DiariesCopntrollerに
@conditions
のようにインスタンス変数を作り、そこにconditionに関するhashを代入するべきか? - locale を使用すべきか?
- @diariesからconditionの値にアクセスできるのでは?
- 明日、質問しようと思います。
- DiariesCopntrollerに
# params => { "diary_date" => "2019-09-10", # "activity" => "0", # "mood" => "+1", # "appetite" => "0", # "content" => "テスト" } #app/controllers/diaries_controller.rb class DiariesController < ApplicationController def create @diary = current_user.diaries.build(diary_params) @conditions = {} if @diary.save flash[:success] = '日記が正常に投稿されました' columns.each do |column| @conditions[column] = condition_hash_generator(column) end redirect_to root_url end end private columns = [:activity, :mood, :appetite] def condition_hash_generator(column, params) hash = {} condition_hash = {} values = ["-2", "-1", "0", "+1", "+2"] values.each do |value| if value == params[column] hash[value] = true else hash[value] = false end end condition_hash[column] = hash condition_hash end
Ruby
HTML
2019年09月11日(水)
3.0時間