rails 独学して軽くにちゃんまとめつくる

インターン中大学生のブログ

ぐるぐる回って何をしたいのかが変わってく。今はマッチングサイトを作りたい、もしくは論文のキュレーションサイトかな。

rubyファイルにrailsのコマンドを入力させる。

 

 test.rb

  @title = "titletitle"
 @link = "linklink"
 puts @titile
ここに render 'partial' をいれたい!
puts @link

 こういう ruby ファイルがあったとする。コードの中にもあるように、あそこにパーシャルをいれたいとき、どうすれいいだろうか。このままなにも考えず

 

 test.rb

  @title = "titletitle"
 @link = "linklink"
 puts @titile
 render 'partial'
puts @link

というファイルを実行するために

$ruby test.rb

としてもエラーがでる。というのも render メソッドは rails のコマンドであり、ruby のコマンドではないからだ。railsruby のコードは実行できるが、rubyrails のコードは実行できない。ならどうすればいいかというと

 

  @title = "titletitle"
 @link = "linklink"
 puts @titile
 puts "<% render 'partial' %>"
puts @link

 

こうする。すると rener 'partial' は単なる文字列と認識され、無事表示させることができる。ここで追記した <% %> はもちろん実行したあと、erb に出力したときに表示させるための記述だ。

 これを実行すると

$ruby test.rb

 

titletitle

<% render ''partial %>

linklink

 となる。このままではどうしようもないので出力先を erb にすると

$ruby test.rb >> title.html.erb

 

 titletitle

#<% render ''partial %> が展開されて、指定したパーシャルがでてくる。

linklink

 これで、 ruby ファイルを rails で表示させることができる。

 

 

ついでに出力先の erb にrb で得たあたいを変数としてわたしたいときの方法を書く。上の手順と発想は全く同じで <%%> を puts で表示させる

 

 

 

  @title = "titletitle"
 @link = "linklink"
 puts @titile
 puts "<%render 'partial'%>"
puts @link

 

の @title に代入されている"titletitle"  を出力先にもっていくことにする

 

 

  @title = "titletitle"
 @link = "linklink"
 puts @titile
 puts "<% @title=" + @title + "%>"
puts @link

 

これで大丈夫。これを出力すると

 

 

 titletitle

<% @title = "titletitile" %> 

linklink

 

となっていて、無事変数を出力先の erb にもっていくことができる。