【Ruby】Ruby on Rails Part10
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/08/28(土) 19:27:42ID:Er5MNJZv【Ruby】Ruby on Rails Part9
http://hibari.2ch.net/test/read.cgi/php/1266563593/
■参考サイト
<英語>
本家:http://www.rubyonrails.org
API document:http://api.rubyonrails.com/
開発者のblog:http://weblog.rubyonrails.org/
参考wiki:http://wiki.rubyonrails.org/rails
<日本語>
Rails' wiki: http://wiki.fdiary.net/rails/
http://twitter.com/dhh
http://www.loudthinking.com/
0301nobodyさん
2010/10/06(水) 20:03:03ID:R0yvi9kOhttp://www.moongift.jp/2007/07/railroad/
Rails ERD
gem install rails-erd
http://rails-erd.rubyforge.org/
0302nobodyさん
2010/10/07(木) 02:08:13ID:mF56A811vimやemacsを使わない開発者がいるので、良いIDE環境を探しています。
Aptana Studio3β使ってみたけど、
railsプロジェクトさえロクに作れない有様で挫折しました。
Windows環境ではRoR開発は厳しいでしょうか。
0304303
2010/10/07(木) 02:47:43ID:???RubyMineというのは触ってみた。
Java製でマルチプラットフォーム対応。
今のところ(2.0.2)Rails 3対応してない(rails newしてくれない…)でやんの…
2.5待ちらしい。
0306nobodyさん
2010/10/07(木) 09:39:00ID:Tt6LL3Ltwill_pagenate3.0.preをインストールし、bundlerを使ってページ送り機能をつけたいのですが、require 'will_paginate'をでも取り込んでくれません。
0307nobodyさん
2010/10/07(木) 11:04:43ID:???Gemfile に
gem 'will_paginate', '~> 3.0.0'
を書いてbundleを実行したのにダメだったということ?
bundle show で出てくる?
$: に will_paginate は含まれている?
railsバージョンはいくつ?
0308nobodyさん
2010/10/07(木) 14:52:48ID:2jT+yB6I【"make install"したソフトウェアを管理できる超便利ツール】pacoを試してみました。(centOS5.5) - 4丁目より
http://d.hatena.ne.jp/mitsugi-bb/20100826/1282795381
http://www.daokaous.com/2010/01/ubuntuでrails環境構築〜ubuntu9-10改訂版〜/
0309nobodyさん
2010/10/07(木) 21:35:58ID:???いくつかのAJAX UI用に使っていたpluginやコードが動かなくなって大変困っています
みんなどうしていますか
0310nobodyさん
2010/10/08(金) 02:42:02ID:???http://sawada0903.blogspot.com/2010/10/rails30er.html
0311nobodyさん
2010/10/08(金) 11:35:35ID:???0312nobodyさん
2010/10/08(金) 11:48:06ID:???0313nobodyさん
2010/10/08(金) 15:19:37ID:???メインかしらんけど、少なくともjQueryのも提供されてて、公式の機能として代替可能になってる
railsコマンドでプロジェクトつくる時にも外せるよ
UnitTestだっけ、これもオプションで外せる作りになってる
0315nobodyさん
2010/10/08(金) 20:58:57ID:???代替可能ってことは、グローバルななにかの設定変えとけば
link_to_remote みたいなのを使ったときに連動して $.ajax とかが使われるってことかな。
だとかなり嬉しいが。
0316nobodyさん
2010/10/08(金) 22:01:52ID:???Rails3では、HTML中には直接Javascriptを書かない。
(Unobtrusive Javascriptというやつ)
ページが出来上がってから、DOM操作で特定の属性を持った要素を探して
イベントを割り当てて行く。
このイベント割当処理の部分をPrototypeで書いたりjQueryで書いたりする。
link_to_remote は prototype_legacy_helper という gem に残ってるけど、
通常は link_to ... :remote => true と書く。
0317nobodyさん
2010/10/09(土) 03:06:12ID:???300万↑の案件を2週間程度でこなしてたりする。
こういう人達って年収2000万ぐらい稼いでるのかな?
0318nobodyさん
2010/10/09(土) 03:27:16ID:AQ0Bclgb開発開始2週間で、Rails側85%完成(管理画面以外)。
http://d.hatena.ne.jp/hichiriki/20090409#1239246698
0319nobodyさん
2010/10/09(土) 04:16:31ID:FXzMiZhihttp://itpro.nikkeibp.co.jp/article/NEWS/20101008/352764/
0320nobodyさん
2010/10/09(土) 23:41:02ID:PZidCEMBUnexpected Run: Rails3.0でモデルのER図を簡単に出力する方法
ttp://sawada0903.blogspot.com/2010/10/rails30er.html
0321nobodyさん
2010/10/10(日) 17:40:25ID:???0322nobodyさん
2010/10/10(日) 20:14:09ID:vCO6UQUErails3なのですが、engineを使ってプラグイン的なものを作りたいと思って、
railscastsの動画など見つつ
http://media.railscasts.com/videos/149_rails_engines.mov (ver2.3のものでしたが)
rails generate plugin test
みたいな感じで
vendor/plugins/test
にプラグインのディレクトリを作り、その中に適当な controllerやroutes.rbを用意したのですが、
どうもtestプラグインの中のプログラムが実行されないようです。
単純に vendor/plugin/test がメインアプリケーションから読み込まれてないからだと思うのですが
これを読み込むようにするにはどうすればよいのでしょうか?
rails3だと全てbundlerからインスールしないとちゃんと動かないとか・・
そんなことはないと思うのですが・・。
environment.rb辺りになにか書き足せばいける気がするのですが、3系の情報が少なく、はまってます。
どなたか教えていただけると嬉しいです。
0323nobodyさん
2010/10/10(日) 23:03:31ID:???0324nobodyさん
2010/10/10(日) 23:57:54ID:???個人的な感覚では、家族持ちで30代前半辺りが一番使いやすい。
文句言わずに働くし。
独身で若い子を狙う会社が多いけど、すぐに辞められるしリスクがでかい。
0325nobodyさん
2010/10/11(月) 00:10:33ID:???0326nobodyさん
2010/10/11(月) 00:43:25ID:???何も試さずに言うけど、engineということはアプリの構造を成している
必要があるから、
vendor/plugins/test/ **app** /controllers/xxx_controller.rb
vendor/plugins/test/ **config** /routes.rb
じゃないの?
0327322
2010/10/11(月) 01:03:35ID:30uDXKOtレスありがとうございます。
もちろんapp/controllersとかconfigとかディレクトリ作ってその中に入れたのですが、
原因がわかりました。
メインのアプリケーションとpluginの方で同じコントローラを定義してしまってたことが原因でした。
なんか勝手にプラグインの方が優先されるだろうと思ってたんですが、同じコントローラ
があった場合メインの方が優先されるようです。
お騒がせしました。
0329327
2010/10/11(月) 02:40:59ID:30uDXKOtすみません、別の問題が出てしまったのですが、
vendor/plugins/test に入っているコントローラなどのクラスを、
メイン側でオープンして再定義するにはどうしたらよいでしょうか。
プラグイン内とメインアプリ内で同名のコントローラがあった場合はメインの方が優先されることが分かったので、
vendor/plugins/test/app/controllers/samples_controller.rb を
app/controllers/samples_controller.rb でオープンして再定義できるのではと思ったのですが、
どうやら上記二つは全く別物として扱われ、下記が読み込まれると上記は無視されるように見えます。
もし上記のやり方でクラスオープンできないとしたら、どのようにしてplugin内のクラスをオープンして
再定義できるでしょうか。
ご教示いただけると嬉しいです。
0331nobodyさん
2010/10/11(月) 11:05:14ID:???メイン側で
require 'vendor/plugins/test/.....'
してからでないと再オープンにならない。
0332302
2010/10/11(月) 12:28:31ID:R6zwuDNYRadrails3β、RubyMine2.5、NetBeans6.9.1と触ってみましたが、
NetBeansがいろいろ設定が出来てよさそうでした。
NetBeansを開発環境として選定してみようと思います。
0333327
2010/10/11(月) 13:47:56ID:30uDXKOtレスありがとうございます!
すみません、続けての質問になってしまうのですが、
require 'vendor/plugins/test/.....' はメイン側のどのファイルに書けばいいのでしょうか?
environment.rbの
require File.expand_path('../application', __FILE__)
の下に、
require "#{Rails.root.to_s}/vendor/plugins/testclient1/app/controllers/samples_controller.rb"
のような感じで書き足してみたのですが、サーバ起動時に
/rails_root_path/vendor/plugins/test/app/controllers/samples_controller.rb:1:in `<top (required)>': uninitialized constant ApplicationController (NameError)
のようなエラーが出てしまいました。
ApplicationControllerが定義される前に読み込んでしまってるようです。
また、testプラグインの全てのapp/以下のクラスを再オープンできるようにしたいのですが、
上記のような記述で1ファイルずつどこかに記述する必要がありますでしょうか??
質問ばかりですみません。教えていただけると嬉しいです。
0334327
2010/10/11(月) 13:48:49ID:30uDXKOtのtestclient1はtestの間違いでした。失礼しました。
0335nobodyさん
2010/10/11(月) 15:40:34ID:???app/controllers/samples_controller.rb はこんな構造になる。
require './vendor/plugins/test/app/controller/samples_controller'
class SamplesController < ApplicationController
# ここで定義を上書き
end
0336335
2010/10/11(月) 17:29:28ID:???Rails.root とくっつけるか、File.dirname(__FILE__) を使ういつもの
パターンを使うか、1.9 なら require_relative あたりで。
Rails.root / vendor が $: に入ってるので、
require 'plugins/test/app/controllers/samples_controller' が
完結でよいかもしれない。
0337nobodyさん
2010/10/11(月) 18:11:09ID:???database.ymlのsocketをいじってればいいと思うのですが…
0338nobodyさん
2010/10/11(月) 18:36:16ID:???他のホストで動いているMySQLサーバと通信するには、
MySQLサーバ側
* ローカルホスト以外からのTCP/IP接続を許可する
* 使用予定のアカウントに対し、接続元を許可している(GRANTの確認)
config/database.yml
* database, host, username, password, port を書く。(portはデフォルトのままなら不要)
* socketはいわゆるUNIXソケットローカルのパスにソケットファイルを指定するものなので、
外部とつなぐ場合は設定しない
0339nobodyさん
2010/10/11(月) 18:46:02ID:y5s6alEOhttp://blog.trippyboy.com/centos/外部サーバのmysqlに接続を試すの巻/
2.MySQLサーバ内に”ユーザ@接続元IP”を作成する。
>grant all privileges on *.* to user@”接続元IP” identified by ‘password’;
↑この設定だと全DBにアクセス可能になってしまいますので、特定のDBをお望みの
場合には、「*.*」を「tokutei_db.*」のように変更してください。
0340327
2010/10/11(月) 18:57:04ID:30uDXKOtレスありがとうございますm(_ _)m
なるほどファイルの中に直接requireを書いてしまうんですね。
require 'plugins/test/app/controllers/samples_controller'
でオープンできました。ありがとうございます。
ただ、一つ問題があって、メイン側で再オープンしたクラスのコードを編集して、
ブラウザをリロードしても、変更が反映されないようなのです。
Webrickを再起動したら反映されたので、どうもキャッシュが効いてしまってる気がします。
もちろんRails.envはdevelopmentです。
メイン側で再オープンしたクラスを編集した際、サーバ再起動しなくてもすぐに反映されるようにしたいのですが、
どうすればよいでしょうか・・。重ね重ねすみません。ご教示いただけないでしょうか。
あと、($:).grep(/vendor/) すると vendor/plugins/test/app/contorollers
も出てくるのですが、
require 'samples_controller'
だけだとなぜか読み込まれないようです。
require 'plugins/test/app/controllers/samples_controller'
で読み込めるので特に問題はないのですが・・
0341nobodyさん
2010/10/11(月) 19:35:09ID:???0342nobodyさん
2010/10/11(月) 22:46:45ID:JjNw2+yshttp://ext.omo3.com/linux/mysql_host.html
MYSQLの外部からリモート接続の仕方について - Linux Square
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=22940&forum=10&3
MySQLサーバを外部から接続できるようにする - devel-log.tar.gz
http://d.hatena.ne.jp/dai67/20091229/1262077304
mysqlで外部サーバにレプリケーション成功 - (゚∀゚)o彡 sasata299's blog
http://blog.livedoor.jp/sasata299/archives/51188620.html
0343nobodyさん
2010/10/12(火) 03:09:11ID:???>require 'samples_controller'
>だけだとなぜか読み込まれないようです。
なぜかもなにも、sample_controller という名前に該当するファイルは、$: パス検索上、
まず app/controllers で先に見つかり、それは自分自身なので当然 require 済み。
0344340
2010/10/12(火) 04:28:56ID:m4lv44sZそーかなるほど汗
お馬鹿なことに気付きませんでした。
ありがとうございます。
キャッシュの方の問題が、まだ解決しません。
おそらくプラグインで定義されているクラスのオープンしているので、
オープンして再定義したクラスもプラグインのものとして扱われているのだと思います。
なので、プラグインをキャッシュせず、毎回アクセス毎に読み込み直すようにすればよいと思うのですが、
そのやり方がまだわかってません。。
0345nobodyさん
2010/10/12(火) 09:04:06ID:???ActiveSupport::Dependenciesの魔境をhackしたい、かつ、それができないとどうしても
先に進めないというので限り、毎回再スタートすることにして本来の問題に対処したほうが
いいと思う。
ちょっくら見てみるかぁ…
0346nobodyさん
2010/10/12(火) 09:15:41ID:???require_onceだったか、dependenciesのリストから対象ファイルかディレクトリを省く方法あったはず
0347nobodyさん
2010/10/12(火) 09:19:50ID:???Reloading Your plugin in development mode : Witold Rugowski aka NetManiac
http://nhw.pl/wp/2009/01/07/reloading-your-plugin-in-development-mode
Dependencies.load_once_pathsから外す、か。
Rails2の話なのでRails3は違うかもしれん
0348nobodyさん
2010/10/12(火) 20:21:26ID:ywYvZKK9http://www.db.is.kyushu-u.ac.jp/rinkou/ruby/rubyrjb.html
0349nobodyさん
2010/10/12(火) 23:03:22ID:q7v2ASbIhttp://d.hatena.ne.jp/ssig33/20100823/1282554827
0350nobodyさん
2010/10/13(水) 23:25:07ID:6xKBidgehttp://nextsprocket.com/tasks/gettext-on-rails-3-0-0-beta
0351nobodyさん
2010/10/14(木) 16:09:32ID:???win用のtextMateとNetbeansではどちらがオススメでしょうか?
0352nobodyさん
2010/10/14(木) 17:49:30ID:???0353nobodyさん
2010/10/14(木) 17:52:39ID:???0354351
2010/10/14(木) 21:03:28ID:???それは承知なのですが、そこをなんとか!
とりあえずある程度慣れたら、Linuxもしくはマックへの移行も考えております。
0355nobodyさん
2010/10/14(木) 21:46:28ID:???0356nobodyさん
2010/10/15(金) 06:45:17ID:???routes.rbにて、
map.connect 'download/:id.:format'
みたいにアップロード済ファイルをダウンロードさせようとして:formatを指定させた場合に
ダウンロード自体が上手く入っているときはよいのですが、
権限が足りないなどエラーが起きたときにエラーメッセージをrender :templat => "my_error" として
表示させようとすると、params[:format]がhtml以外のときに、正しくmy_error.html.erbでなくmy_error.erbを読もうとして、
また、htmlではなく、params[:format]な形式で変えるようです。
エラー表示の時は無理やり params[:format] = "html"すればよいようですが、
renderに指定するようなもっとスマートな方法はないものでしょうか?
Rails 2.3です。
0357nobodyさん
2010/10/15(金) 06:46:47ID:???> 表示させようとすると、params[:format]がhtml以外のときに、正しくmy_error.html.erbでなくmy_error.erbを読もうとして、
> また、htmlではなく、params[:format]な形式で変えるようです。
表示させようとすると、params[:format]がhtml以外のときに、my_error.html.erbではなくmy_error.erbを読もうしてエラーになりますし、
またこのときhtmlではなく、params[:format]な形式になるようです。
0358nobodyさん
2010/10/15(金) 15:26:28ID:???IDEを選ぶ前にInstantRailsを入れておいたのですが、
Netbeansの設定はデフォルトのJRubyがオススメでしょうか?
0359nobodyさん
2010/10/15(金) 19:20:39ID:???なるべく動作環境に合わせたほうがいいと思う。
JRuby環境で動かすならJRubyでいいだろうし(それならInstantRailsいらないんじゃ)
CRuby(本家のRuby)で動かすなら、InstantRailsのような環境を用意する。
でも、InstantRailsってとても古いように見えるからおすすめできないな
>>196 >>210 を読んだ上で、VirtualBoxなりVMWareなり入れてそっちに環境作ったほうがいいと思う。
開発マシンとファイル共有すればWindowsからもNetBeansで編集できるし
どうしてもWindowsにこだわるなら、 RubyInstaller http://rubyinstaller.org/
とXAMPPかな(MySQLとphpmyadmin使えるから)
でも動作環境がunixならトラブルこと多いよ
0360nobodyさん
2010/10/15(金) 19:24:55ID:???0361nobodyさん
2010/10/15(金) 19:30:37ID:???たまに苦労するけど、それはLinuxで苦労するのと同じくらいの頻度
0362358
2010/10/16(土) 02:08:11ID:???詳しい解説ありがとうございます。
自分はCakePHPからRailsに移行したのですが、とりあえずRailsにある程度慣れて、
これはいけると思ったらマックを購入しようかなと考えております。
該当スレを読んで、なんでWindowsやnetbeansがオススメできないのかをもっと知りたく、
このサイト見てみましたがいろいろとあるようですね。。
http://blog.livedoor.jp/satoyansoft/archives/65344445.html
VMwareを使ってLinuxで構築となるとちょっと敷居が高そうなので、
その時はマックを素直に買おうかなと考え中です。
とりあえずWindows環境でRubyとRuby on Railsにある程度慣れたい!という
自分の目的だと、
アドバイスに従って、RubyInstallerとXAMPPとe-texteditorで練習するのがベストじゃないかと思いました。
ちなみに、InstantRailsを使ったのは、「RailsによるアジャイルWebアプリケーション開発 第4版」に合わせようと
思ったからです。
>>360
JRubyがオススメできない理由をもしよければ教えてもらえないでしょうか?
JRubyの記事や高速化の話題は検索しやすいのですが、オススメできない理由はなかなか探すことができず。。
0363nobodyさん
2010/10/16(土) 03:02:55ID:???自社サービスも案件も全てRailsオンリーの会社で働いてるけど、普通にWindows使いもたくさんいる。
エディタはやっぱりeclipseが多い。
Aptana使うにしてもわざわざeclipseのプラグインで使ってる人が多いみたい。
まぁeclipseのことはあまり知らないけど。
Netbeansは周囲には全然いない。。
自分はLinuxでVimだけど、LinuxならEmacsの方が多いかな。
まぁ結論としてはWindowsでも全然問題ないと思う。
RubyInstallerは初心者には無難だと思うよ。
0364nobodyさん
2010/10/16(土) 04:12:35ID:???アクティブレコード?
0365nobodyさん
2010/10/16(土) 05:26:58ID:???MacでもどうせRubyとか入れ直さないといけないし、買ったらすぐ使えるわけでも無いけど、楽なのは確か。
0366nobodyさん
2010/10/16(土) 07:56:54ID:???0367nobodyさん
2010/10/16(土) 08:10:22ID:???しばらく待てばOSアップデートされたりするんだけどね。
でもいまだにOSXの標準だと 1.8.7p174。
rvmで所望のバージョン入れたほうがいい。
0368nobodyさん
2010/10/16(土) 10:30:33ID:???MacPortsで入れるか、入れ直す
0369nobodyさん
2010/10/16(土) 11:54:38ID:???参考になるサンプルが置いてあるオススメのサイトを教えてもらえないでしょうか?
現在、シンプルにFat Modelな感じで書いてあるサンプルを探しています。
コントローラとビューの連携はなんとなくわかったけど、
Fat Modelな感じで、コントローラとモデルを連携するやり方を模索中です。
モデルがActive Recordと書かれているので、最初は戸惑いました。
「リファクタリング Rubyエディション」とか買ったら、こういう例は詳しく書いているのかな。
0370nobodyさん
2010/10/16(土) 12:59:14ID:???0371nobodyさん
2010/10/16(土) 14:56:24ID:B+/gTTuNhttp://satoshi.blogs.com/life/2009/10/rails_mvc.html
Life is beautiful: O/Rマッピング技術の進化が皮肉にも助長している「えせMVC症候群」
http://satoshi.blogs.com/life/2009/10/ormappingmvc.html
0372369
2010/10/16(土) 15:05:09ID:???やはりそうですよね。
「RailsによるアジャイルWebアプリケーション開発 第4版」をとRailsレシピブックを買ったのですが、
もう少し薄い感じで、簡単にRailsの事を網羅している本を探しに行きたいと思います。
>>371
そのエントリはすごく参考になりました。
つまり、Fat Modelで書きなさいってことですよね。
コメント欄で書かれていた、 ActiveRecordを使うモデルと、ロジックのみのモデルは
分けるという人が印象的でした。
データベース連携用のモデル、Fat Model実現のビジネスロジック専用のモデルを
分けるという考えはナイスだと思うのですが、みなさんはどう思いますか?
0373nobodyさん
2010/10/16(土) 19:02:28ID:???えせでもfatでもskinnyでもいいけど、
概念ばっかで具体性がないから何とも言えない。
そんなんでナイスとか言えるのは無能で何も分かってないコンサルくらい。
0374nobodyさん
2010/10/16(土) 19:32:16ID:???理由は、JRubyでのRails開発例を丁寧に紹介していたサイトを見た初心者の人が
その通りにやって全然動かなくて困っていたのを過去スレか関連スレで見たので。
0375nobodyさん
2010/10/16(土) 19:37:21ID:???0376nobodyさん
2010/10/16(土) 19:52:50ID:???忠告してやってんのにそういうレスするわけか
まあ、気概があるなら好きにやってくれ
0378nobodyさん
2010/10/16(土) 19:58:51ID:???初心者がどこかのサイトを見てやってつまずいたレスを
2ちゃんのどこかのスレでただ一度見ただけ・・・
0379nobodyさん
2010/10/16(土) 20:13:00ID:???> 「RailsによるアジャイルWebアプリケーション開発 第4版」
おいそれ、まだ日本語訳でてねーぞw 英語版もベータだ
>>13に書いてあるから英語版か?
>>13 にある Head First Railsもオススメだと思うぞー
0380nobodyさん
2010/10/16(土) 20:30:10ID:???> 該当スレを読んで、なんでWindowsやnetbeansがオススメできないのかをもっと知りたく、
> このサイト見てみましたがいろいろとあるようですね。。
> http://blog.livedoor.jp/satoyansoft/archives/65344445.html
このサイトの内容は重ね同意だな
Capistranoが動かないというのは本当でもありウソで、俺はパッチ当てて使ってる
エラーでたのをググって参考にしてパッチ当ててるだけだが(確かコマンド起動時のパス区切りの問題)
つまりちょっとしたトラブルを自分で調べて対処できないと面倒だよ、ということ
実際はそのちょっとしたトラブルが多いけどな
それとググるときは英語圏も必ず見る。日本語サイトになくて英語サイトに書いてあることで悩んでる人たまに見かける
そのサイトでは、eTextEditor勧められているけど、IDE使っているとeTextEditorは不満が多すぎるし、
普段からIDE慣れしている人ならIDEでもいいだろ。他の言語のようには使えないのが前提だが。
vimやemas使える人ならWindowsでも動くし悩む必要ないよな。
0381nobodyさん
2010/10/17(日) 02:06:32ID:z6s2Wyjr自己結合(Self Joins) http://wiki.usagee.co.jp/ruby/rails/RailsGuidesをゆっくり和訳してみたよ/Active%20Record%20Associations#m6658a2f
MVCのMは http://japan.zdnet.com/blog/yoshimi/2007/11/22/entry_27016437/
■app/models/friendship.rb
belongs_to :user
belongs_to :friend, :class_name => "User", :foreign_key => "friend_id"
■app/models/user.rb
has_many :friendships
has_many :friends, :through => :friendships
has_many :followerships, :class_name => "Friendship", :foreign_key => "friend_id"
has_many :followers, :through => :followerships, :source => :user
has_many :statuses
■app/models/status.rb
belongs_to :user
0382nobodyさん
2010/10/17(日) 02:16:52ID:???あわせて読みたい:
えせMVCについてそろそろ一言言っておくか - ひがやすを blog
http://d.hatena.ne.jp/higayasuo/20091013/1255408723
えせMVC? - akimatter
http://d.hatena.ne.jp/akm/20091015/1255580332
0383nobodyさん
2010/10/17(日) 04:08:13ID:???@myvar
と変数を定義して、
layout/application.html.erbの中でこの変数を使いたいのですが
この変数は取得できないようです。
各Controllerで定義したインスタンス変数はapplication.html.erbで取得できます。
ApplicationControllerは各Controllerが継承しているので、
理論上では取得できるように思うのですが。。
どこで間違っているのでしょうか。
0384nobodyさん
2010/10/17(日) 04:53:56ID:3XvDZpS3ttp://www.find-job.net/fj/search.cgi?shokushu=0&kinmuchi=0&keitai=0&from=23&category=0&ky_kind=0&ky_from=0&do_search=1&keyword=rails
0385nobodyさん
2010/10/17(日) 05:24:35ID:RZjf9c2/application.html.erbの優先度は低くて、処理しているコントーラーに対応するコントローラー名.html.erbがあるとそっちのレイアウトを利用します。
http://akr97.com/capsule/?p=871
変数はapplication_controller.rbかhoge_controller.rb
0386nobodyさん
2010/10/17(日) 07:53:39ID:???もしかして
class ApplicationController < ActionController::Base
@x = 10
end
のように、ApplicationControllerの *クラスに* インスタンス変数を定義してはいない?
たとえば、before_filter を使うなどして、コントローラの *インスタンスに* インスタン
ス変数を定義すれば、使えてるけど。
app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
before_filter do
@x = 10
end
end
app/controllers/test_controller.rb
class TestController < ApplicationController
end
app/views/test/index.html.erb
<%= @x %>
0387nobodyさん
2010/10/17(日) 07:56:30ID:???>>382
[Rails]Ruby on Railsは「えせMVC」じゃないよー
http://d.hatena.ne.jp/shunsuk/20091012/1255351852
0388nobodyさん
2010/10/17(日) 09:05:41ID:RkRpy3Plhttp://demo.lokka.org/
http://lokka.org/
http://github.com/komagata/lokka
http://groups.google.co.jp/group/lokka-ja
http://d.hatena.ne.jp/holypp/20101016/1287234958
0389369
2010/10/17(日) 10:18:24ID:???すいません。第3版でした!
Modelをロジック専用とデーターベース連携専用に分けるというのは、
よくないとアドバイスされました。それより、UserとかBookとか概念ごとに分けろと。
確かに、全然分かってませんでした。
>>379
Head First Railsも一緒に買っておいたほうがいいかもですね。
立ち読みした感じでは、ちょっとくどいかなあと思ったのですが、細かい部分で参考になるかもしれないし。
>>380
eTextEditorを使って見ましたが、どうも使いにくい。。
NetbeansとJrubyで練習しようと思っているのですが、開発段階だとそんなに問題はないんじゃないかと
思っているのですが、やはりこのスレの人達が指摘するようにJruby使うとつまらないことで悩むことが多くなるのでしょうか?
単純に、サーバーにアップロードする時にLinuxとかが必要なのであって、Herokuのようなレンタルサーバを使うことを
考えているのなら、Windows環境でNetbeans+Jrubyでもはまることは少ないのではと単純に思っているのですが。
(これは勘違いしてそうな気もしますが。。)
0390nobodyさん
2010/10/17(日) 11:33:27ID:???実行速度も速いし、環境の違いによる問題でハマらない。
メインOSがWindowsでもVM上でLinux使えるし。
Windowsしか使った事がない人は、Windowsでやればいいよ。
というか、一般的には本番環境を先に想定して
本番環境と同じ環境を開発環境として構築するほうが良いのでは?
0393nobodyさん
2010/10/17(日) 22:02:08ID:???さすがに動かすことを念頭にするなら、まず適当なスケルトン作ってデプロイして動かすまではやらないとね・・・
趣味や勉強でやるんなら別にあとでもいいんだろうけど
例えだけどさ、極端な例だけどherokuで動かすんならherokuに合わせた環境構築や開発の仕方するよね
read onlyなファイルシステムを最初から考慮して作るとか、
本番はPostgreSQLだからSQLiteで開発しない方がトラブらなさそうとか
>>386 >>392
selfが今なんなのか意識したほうがいいと思う
0394nobodyさん
2010/10/17(日) 22:44:49ID:???0396nobodyさん
2010/10/18(月) 00:00:55ID:???0397nobodyさん
2010/10/18(月) 00:32:47ID:???ヘルパーに切り出す方が自然な気がする。
0398nobodyさん
2010/10/18(月) 00:35:44ID:???0399nobodyさん
2010/10/18(月) 05:25:01ID:???こっちの方がはるかに不自然だと思うのだが
なんでヘルパーにデータを持つんだよ
0400nobodyさん
2010/10/18(月) 08:33:00ID:???そのヘッダーの中でログインユーザー名を表示する場合、
>>386のようなfilterでデータ取得するのが一般的なの?
helperにログインデータ取得するメソッド用意した方が自然だと思う。
0401nobodyさん
2010/10/18(月) 08:53:38ID:???<%= render :partial => 'login' %>
======== _login.html ========
<% if user? %>
<%= _("welcome %{firstname} %{lastname}: ") % {:firstname => current_user.firstname, :lastname => current_user.lastname} %>
<%= link_to _('logout'), :controller => 'user', :action => 'logout' %> |
<%= link_to _('Change password'), :controller => 'user', :action => 'change_password' %>
<% else %>
<%= store_location %>
<%= link_to _('login'), :controller => 'user', :action => 'login' %>
<% end %>
■ このスレッドは過去ログ倉庫に格納されています