Railsのviewのインラインの中に複数のメソッドが書けた

書けた。

<%= link_to("product1", URI1)+" | "+link_to("product2", URI2) %>

これが、

<a href="URI1">product1</a> | <a href="URI2">product2</a>

って。

既存のヘルパーメソッドとテキスト部分とが織り交ざった独自のヘルパーを作るときに、

力づくでやった方法。

※上でいうRubyインラインタグ内のストリングを返すヘルパーメソッドを作った。

content_tagとか使えばもっときれいそうだけどー。

Rails 3からHTMLエスケープがデフォルトになったよやったー!でも無効にしたいときもある

コレ。

<%= @user.name.html_safe %>

で、自動のHTMLエスケープを無効化できるって話だったのだけど、

<%= raw @user.name %>

というのもあるらしい。

エスケープの観点でいうと前者のが良いのかしら。。

どっちがいいんだっていう英語のQ&Aサイトはあった。

コレ

Mac(Lion)にrails.vimを入れる

簡単だった。

ここ

より最新のrails.zipをダウンロードしてきて、

※おそらくデフォルトの~/Downloads/にできたよね。

cd ~/Downloads/
unzip rails.zip

展開されたファイル、

doc/rails.txt
plugin/rails.vim
autoload/rails.vim

これらをvimのRuntime Pathに置きます。

※Macだと~/.vim/みたい。

mv doc ~/.vim/.
mv plugin ~/.vim/.
mv autoload ~/.vim/.

※.vimフォルダを筆頭に、適宜作成やマージをしてね♪

これでできた!

Mac(Lion)にvim-rubyを入れる

まず、MacのvimRubyに対応しているか確認する。(たいていしてない。)

vi --version | grep ruby

これで"-ruby"となっていたら対応していない。

そこでまずvimの入れ替えってことで、macportsを利用します。
※もともとmacportsvimを入れてないとココでないよ!って怒られます。

sudo port clean vim

これできれいにして、

sudo port install vim +multibyte +ruby

これで新しくインストールです。(まあまあ時間かかった。)

そいで今(2011-11-23)だとvim-rubyのパッケージがgemにはないようなので、

コンパイルしてvim-rubyを入れます。

git clone http://github.com/vim-ruby/vim-ruby.git
cd vim-ruby

gitで新しいのをとってきて、

git checkout vim7.3

HEADでもタグでもお好みでパージョンを指定して、

rake package

パッケージ作成、

sudo gem install etc/package/vim-ruby-<日付>.gem

etc下にできたパッケージをgemで実行するとインストール!

最後に

vi ~/.vimrc

set tabstop=2
set shiftwidth=2
set expandtab
set autoindent
set nocompatible
syntax on
filetype on
filetype indent on
filetype plugin on

とか書いたら、

Ctrl+x,Ctrl+oで補完機能が働きます!

参考にしたページ

参考にしたページ

ありがとうございます!

Railsのフォームで配列構造を扱いたい!

どうゆうことかというと、

□商品1
□商品2
□商品3

こんなかんじの並列な要素群とそれらのチェックボックスがあって、
複数選択可能なフォームを作る際に、

受け取るパラメータとして、

params = {:products => ["1","3"]}

こういう風にあるシンボルに対する複数要素の配列としたい場合は、

例)

<% @products.each |product| do %>
  <%= check_box_tag 'products[]', product.id %>
<% end %>

って書く!

配列だけでなく、ハッシュもできるし、

チェックボックス以外でももちろん可能。

参考にしたページ

ありがとうございます!