rails cssの読み込みをviewごとに分けたい、そんなあなたへ!
application.cssの require_tree . (全部読み込むよって意味) を require_directory ./hoge (hogeフォルダだけ読み込むよ) に変更して、 view毎に読み込みたいファイルは別途指定!
URL取得関連
たまにURLにパラメータじゃなくて#がついてるときあるじゃないですか。
http://hoge.com/#fuga=fuu
みたいなあれ。
あれをRubyで取得しようといろいろ試しました。
方法1
url_for()を使う
url_for()は現在のurlを返す関数ですが、引数無しだとパラメータも何も取ってきてくれない。
なのでパラメータが欲しいときは、
url_for(params)
とする。
しかし!アンカーは取れず。
方法2
requestを使う
request.url とかrequest.path_infoとかいろいろありますが、 結局これでもアンカーは取れず。
なんでやねんと悩んだ結果、アンカーはサーバに送られてないらしい。 知らなかった、、、、
というわけでJSで取るしかないみたいです。
location.hash
こんな便利メソッドでサクっと取りつつsplit('=')とかでほげほげしましょう。
そんじゃーね
キャッシュうざい
開発環境でjavascriptのキャッシュがウザい!そんなとき。
チェックポイント1
publi/assets/ のファイルを読み込んでないか?
→ rake assets:clean
チェックポイント2
javascript_include_tagに :debug => true つけてみる
【Rails】n:nのリレーション
ItemテーブルとTagテーブルがn:nの関係。
モデルのscopeでごにょごにょしたりするのはスマートじゃないので、 Railsっぽく has_and_belongs_to_many という長ったらしい呪文を使う。
【準備】 中間テーブルの作成。
class CreateItemsTags < ActiveRecord::Migration
def change
create_table :items_tags, :id => false do |t|
t.column :item_id, :integer
t.column :tag_id, :integer
end
end
end
■注意 - id => false - timestamp消す - 外部キー列が [modelname]id - テーブル名が参照先のテーブル名(複数形)をで繋げたもの - 連結順が辞書順
...なんてめんどくさい!
あとはそれぞれのmodelでhas_and_belongs_to_manyを指定。
tag.rb
has_and_belongs_to_many :items
item.rb
has_and_belongs_to_many :tags
【使い方】 @hoge = Item.find(100) @hoge.tags
ブログというかただのメモ
はじめます