よしだです

プログラミングの勉強してます

Ruby on Rails

環境変数を設定する

ソースにパスワードべた貼りはたぶんよくないよなあと思って良い方法を調べたところ、環境変数を使うと良いそうです。なので、環境変数の設定のしかたです。 vagrantのローカル開発環境の場合 export KANKYO; KANKYO="hensuu"とすると環境変数が保存されます…

form_forのf.selectにclass指定が出来なかった話

今までselectって使った事がありませんでした。それで、ちょうど使う機会があったので使ってみるとなぜかCSSが反映されない。 <%= form_for(@hoge) do |f| %> ~~~~ ~~~~ <%= f.select :hoge, options_for_select['hoge', 'huga', 'hieee'], class: 'form-con…

この前のherokuで出たエラーの原因

ただの僕のミスでした。てへへ。 データのアソシエーションでdependent: :destroyを指定していなかったせいで、このデータdestroyするとアソシエーションが変なことになるんだけど!?!?って感じでエラーが発生してたっぽいですね。 みんなもhas_manyとか…

herokuつらい

herokuに新しくデプロイすると毎回なんかしらのエラーが出て参ります 今回はwe're sorry, but something went wrongってエラーが出たんですが、これはどうやらDB周りのエラーっぽいですね 普通にmigrateとかはしておいたんですが、特定の動作にだけ出てくる…

gemfile.lockがcommitされてなくてherokuにデプロイできなかった話

普通にherokuにデプロイしようとしたら Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin -j4 --deployment You are trying to install in deployment mode after changing your Gemfile. Run `bundl…

belongs_toでclass_nameを指定した時の命名規則変化について

has_many throughでUserモデル、communities_usersモデル、Communityモデルがあった場合 中間モデルに Belongs_to :user Belongs_to :community と書いた場合と Belongs_to :user_id, class_name: "User" Belongs_to :community_id, class_name: "Community"…

railsのアソシエーションでAssociationTypeMismatchエラーが出てハマった

データベースのリレーションが苦手です。吉田です。 railsのアソシエーションで軽くハマったのが解決したので、メモ。 今回の原因は命名規則が間違っていてエラーが起こりました。 作りたかったのは、ユーザーはたくさんのコミュニティを持っていて、コミュ…

form_forのtext_areaに入力された改行をそのまま表示する方法

text_areaで入力された文章を <p><%= @user.comment %></p> みたいな感じで表示されたら、改行が表現されなかったので、調べました。 どうやらsimple_formatなるメソッドを使えばいいようなので <%= simple_format(@user.comment) %> に変更。 結果うまく表示されま…

renderの引数にインスタンス変数を与えたときの動作

この前、<%= render @products %>のようなコードは、与えられた変数と同じ名前のフォルダを探しにいくという趣旨の記事を書きましたが、微妙に違いました。 正確には、renderに与えられたモデルインスタンスと同じ名前のフォルダを探しにいくでした。 なので…

buildとnewの違いとは・・・。

buildとnew・・・何が違うんだ・・・。 ということで調べます。 まず、newに関しては説明はいらないと思いますが、クラスのインスタンスを作成するメソッドですね。 @user = User.new(name: "Taro") => #<User id: nil, name: "Taro", created_at: nil, updated_at: nil > @user.save => #<User id: 1, name: "Taro", created_at: "作成時刻", updated_at: "更新時刻"> となります。 さて、buildは2つの</user></user>…

renderに@○○を渡したときの動作について

railsでまたいまいち理解できないところにつまづきました。 <%= render @products %> というコード。 これは、 <%= render partial: 'products/product', collection: @products %> を略して書いたコードなんですが、なんでここまで略せるのかがよく理解でき…