【Ruby】Ruby on Rails Part7
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/04/30(木) 23:07:27ID:???http://pc11.2ch.net/test/read.cgi/php/1224838013/
■参考サイト
<英語>
本家: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/
■参考スレ(プログラム板)
Rubyについて Part 35
http://pc12.2ch.net/test/read.cgi/tech/1238194350/
Ruby 初心者スレッド Part 27
http://pc12.2ch.net/test/read.cgi/tech/1238632943/l50
0528nobodyさん
2009/07/02(木) 14:47:35ID:???Linuxで実際にGUI開発環境使ったことある?
おれはVirtualBoxでCentOS入れて開発してるけど、
ことGUI周りに関してはWindowsのよさを痛感すると思うよ。
0529nobodyさん
2009/07/02(木) 15:23:03ID:???0530今日は曇り ◆twZ04DwX3o
2009/07/02(木) 15:25:05ID:w8jxLyuc0532nobodyさん
2009/07/02(木) 18:08:14ID:???ホップ数とか、ラウンドトリップの時間なら手元で調べられるんじゃない?
他に何が知りたい?
単純にHTTPとかアプリサーバの反応の軽い重いとかだとサーバのロードも関係してくるしなぁ。
0533nobodyさん
2009/07/02(木) 18:54:23ID:???gemからRailsをインストールするのにFWが邪魔して、できないこともある。
うまくいかない人は、FWを一時的に無効にして再挑戦w
0534nobodyさん
2009/07/02(木) 19:53:19ID:???使ってて一番大きいのは反応じゃないだろうか。
遅いというのもあるけど、反応にばらつきがある。
細かい動作の完成度もバカにならない。ペーストが変なところに貼り付いたりとか。
なんだかんだ見た目もWinはかなり配慮されてるし。まあ、これは個人的な印象。
かけてる金がすごいだろうから、当然と言えば当然だけどね。
0535nobodyさん
2009/07/02(木) 21:23:46ID:???それとWindowsを比べてどうすんだ。
比べるならUbuntuだと思うが。
0536nobodyさん
2009/07/02(木) 21:27:12ID:???現状が気に入らないならスキル次第でかなり深いところまで変更
することができる。
初心者から上級者まで一律お仕着せのMacとそのマネのWindows
とはそこが違う。
0537nobodyさん
2009/07/02(木) 21:33:39ID:Ot61hTL30538nobodyさん
2009/07/02(木) 21:55:27ID:???> 遅いというのもあるけど、反応にばらつきがある。
これLinux関係ないな、メモリが少なくてスワップ発生、
HDDは遅いけどディスクキャッシュが効いてるから速くなったり遅かったり、
て事でしょ?Windowsでもなるよ
コピペとかはまあ、操作体系の違いだから慣れるしかない
WindowsのGUIライブラリは基本的に一つしか無いから
その辺がまとまってるのは優れてるといってもいいか
0539nobodyさん
2009/07/03(金) 01:21:53ID:???犬だとまだまだ使ってる香具師が少ないから洗練されてない。
鯖なら常時起動してるから、起動させっぱにすれば良いだけ。
perlもjavaも同じ。そのためにmod_rubyとか小細工してるし。
開発だとどこでも開発したくて、ノートとかに開発環境作ると、ウィンドウズの便利さを痛感する。みんながモバイルで当たり前に使ってるありがたさ。
その当たり前の機能が犬だとまだまだ不十分なのが現実。
0540nobodyさん
2009/07/03(金) 10:04:52ID:???フフン、思ったより骨がありそうだな。だが次の質問はどうだ。
今度は質問が長いぞ。
「現在時刻を知るにはどうすればよいか、と問えば Time.now と答えるだろう。
二時間前なら 2.hours.ago だ、と聞かれてもいないことまで答えるかもしれないな。
だが、それを一回のリクエストの間に何回も使う場合はどうするのだ。
毎回 Time.now では呼び出しのたびに、ちょっとづつ変わるわけだ。
だったら @time_now = Time.now として、二回目以後の参照は @time_now を使えばいい。
本当にこれでいいのかな?フフル、よく考えてみることだ。」
ねえ、どうかな、本当にこれでいいのかな?
何かRailsが用意してくれたリクエストされた時刻のようなものはないのでしょうか?
0541nobodyさん
2009/07/03(金) 10:20:07ID:???結局慣れとスキルの問題、と。
で、結局WinでRubyの起動がLinuxに比べて遅いのはガチ?
0542nobodyさん
2009/07/03(金) 10:44:56ID:???Railsに実装されているすべての機能を知ってるわけじゃないから確実ではないがたぶんないように思う。
リクエストの中で何度も使うならコントローラーの中で変数に格納する。
べた書きするんじゃなくてfilter機能を使う。
すべてのコントローラーで使いたいならApplicationControllerにfilterを入れる。
フレームワークを使うと「フレームワークで機能が提供されているなら何が何でも使わなければならない」
という強迫観念みたいなものにとりつかれるときがある。こうなると、
・今回のようにただ変数にセットすれば10秒で済むものを、何か機能がないか調べまくる(かえって時間が膨大にかかる)
・後でフレームの機能を使ってないことが分かると(または機能が追加されると)、すべて修正してきれいにしたくなる(きりがない)
などの強力な副作用が出てくる。
フレームワークで提供されてるものを無視しまくるのも問題だが。
まず提供されている核となる重要な機能はしっかり押さえるけど、
周辺の便利機能は逃しても仕方ないくらいでやらないと何も進まないぞ。
今回の場合だと、「コントローラーに実装→filterを使う」というのははずしちゃいけないと思う
(ほかにいいやり方があるかもだが)。
というわけで完全な答えじゃなくて申し訳ないが、次
0543nobodyさん
2009/07/03(金) 13:03:46ID:???ttp://guides.rubyonrails.org/
これが期待できそうだよね。
日本語訳が無いんだけど↓
ttp://honyaku.ssktkr.com/projects/docrails/documents
0544nobodyさん
2009/07/03(金) 13:25:36ID:???同じ画像を国内のレンサバとlinodeにおいて、
ブラウザからアクセスしたときのタイムラグがわかるとありがたいです。
ホップ数を測るというのはlinode.comに対してということでしょうか。
サービス用のインフラと、自社サイトのインフラが同じかどうかわからないと思うのですが。
0545nobodyさん
2009/07/03(金) 13:34:22ID:???本人?
これ手伝おうかと思ったけど、
一番下の
>http://github.com/takeru/docrails/tree/master
>最終的にはここに入れます。
を読んでやる気なくした。
何で全部個人の手柄なんだよ。
0546nobodyさん
2009/07/03(金) 14:00:42ID:???なんなら545が最終的なまとめをやってあげれば?手柄ゲットだぜ。
1行ずつ訳すって中学の英語の授業みたいだなw
おもろいっw訳がガタガタになりそうだが。
0547nobodyさん
2009/07/03(金) 14:13:25ID:???ってことは自分の手柄にするのが目的なんだろ。
0548nobodyさん
2009/07/03(金) 14:48:17ID:???共通な定数ってどこに書いたらよござんすか?
今は、コントローラーから参照するものはapplication_controller.rbに書いているんですが、
その他からも参照するようなときはどこに書いたものかと…。
0549nobodyさん
2009/07/03(金) 14:48:37ID:???親切な方がメールでこのスレで紹介されたと教えてくれました。
成果を独り占めする気はございません。
最終的には本家に入れば良いと思っています。
もちろん日本語版翻訳協力者のリストを付けるべきだと思っています。
0550nobodyさん
2009/07/03(金) 14:55:02ID:???Ruby on Rails のスレ が
http://pc11.2ch.net/test/read.cgi/php/1207425569/792-796
792 名前:nobodyさん[sage] 投稿日:2008/08/18(月) 22:54:04 ID:???
RAILS_ROOT/libが $: に含まれてるからそこにおけばいいんじゃない?
名前をお約束通りに付けておけばconst_missingを捕まえて勝手にrequireするし。
795 名前:791[sage] 投稿日:2008/08/19(火) 23:50:18 ID:???
>>792
>>793
レスありがとう。
今はlibの下に置いてApplicationControllerでincludeしてるんだけど、「お約束通り」の命名にすればそれが不要ってこと?
定数名にRailsの命名規約があるの??
796 名前:nobodyさん[sage] 投稿日:2008/08/20(水) 08:25:05 ID:???
定数というか、モジュール/クラス名がconst_missingのとき、
その名前をオール小文字/単語境界をunderscore化、ネストをディレクトリ
とみなしたファイルがrequireされる。
たとえば、いきなりinclude FooBar::Bazとか書いて未定義の定数を使うと、
require 'foo_bar/baz' される。
----------------
ということは、lib/以下に common.rb みたいなの置いてmodule Common内に定数を書き、
使うところで(ApplicationControllerとかで?)
include Common して、定義してある定数 Hoge を使うか、
Common::Hoge を直接使う、ということでいいんでしょうか?
0552nobodyさん
2009/07/03(金) 15:16:54ID:???そこまで規約に従う理由があるのか?
0553nobodyさん
2009/07/03(金) 15:54:42ID:???0554nobodyさん
2009/07/03(金) 16:34:28ID:???$RAILS_ROOT/lib にクラスとかモジュールの実装を置くのは普通だと思うが、なんで?
rubyはクラスもふつう定数だがクラスは動的に書き換えられるのでなんか混乱するな。
0555nobodyさん
2009/07/03(金) 16:42:35ID:???0556nobodyさん
2009/07/03(金) 17:24:33ID:???自分で定義したものはやっぱりapp以下に置くのが自然に思うけど
0557nobodyさん
2009/07/03(金) 18:01:42ID:???READMEに書いたある。
0558nobodyさん
2009/07/03(金) 18:37:16ID:???0559nobodyさん
2009/07/03(金) 18:47:47ID:???vendor/pluginsはプラグインとして使えるように作られたものを置くところ。
自分でプラグインを作ってもOKなので、外部製とは限らない。
app以下はやっぱり
app/models(ActiveRecord::Baseのサブクラス)
app/controllers(ActionControllerのサブクラス)
app/helpers(ヘルパとして使うmodule)
を置くところであって、それ以外はlib/でよいだろう。
もとの質問の定数定義についてだけど、定数の名前が重要で値自体にさして
意味がない(互いに異なりさえすればよい)場合は 定数の名前に使う予定の
ものに相当するシンボルを使うことも一考に値する。
0560nobodyさん
2009/07/03(金) 19:37:06ID:???RubyGemsで入るRaptというのを使おうとしたのですが、githubには対応してなさげ…
githubのものでgemが作られてるものは、RubyGemsで入れればいいんでしょうけど、
小さいプラグインだとないものもあります。
script/pluginで手動管理でしょうか?
0561nobodyさん
2009/07/03(金) 22:48:31ID:???個人的にはgemで用意されてるプラグインでも、汎用なものでなければscript/pluginでアプリケーションに個別に入れてる。
0562nobodyさん
2009/07/04(土) 07:23:40ID:???どっかからdispatch.fcgiをコピーしてくるのでしょうか?
ちなみに.htaccessもないもよう。
0563nobodyさん
2009/07/04(土) 11:26:40ID:???これっすかね?
Various files in /public that deal with CGI and FCGI dispatching are no longer generated
in every Rails application by default (you can still get them if you need them by adding
--with-dispatches when you run the rails command, or add them later
with rake rails:generate_dispatchers).
http://guides.rubyonrails.org/2_3_release_notes.html
Ruby on Rails 2.3 Release Notes
http://guides.rubyonrails.org/2_3_release_notes.html
0564nobodyさん
2009/07/04(土) 12:20:26ID:???0565nobodyさん
2009/07/04(土) 12:32:58ID:???0567nobodyさん
2009/07/04(土) 19:22:01ID:???0568nobodyさん
2009/07/04(土) 22:48:17ID:???DirectoryIndex index.xhtml
ってやってもきいてくれずに404エラーになる。index.xhtmlは間違いなくある。
VirtualHostとDirectoryの両セクションコンテナでやってみたのだが。
これどうにかならないだろうか。おれだけ?
0569nobodyさん
2009/07/05(日) 00:35:44ID:???0570nobodyさん
2009/07/05(日) 00:46:18ID:???0571nobodyさん
2009/07/05(日) 02:56:44ID:???0572568
2009/07/05(日) 10:36:21ID:???0574nobodyさん
2009/07/05(日) 11:38:01ID:???0575nobodyさん
2009/07/05(日) 12:38:44ID:???まあ、口だけなのはわかってるけどなw
0576nobodyさん
2009/07/05(日) 14:13:27ID:???入門でいいなら、
・逆引き本
・Railsレシピ
・定番のAgile Web Development with Rails 3版を見ながらわからないところは、2版の日本語版を見る
俺はこんな感じで進めている。
>>574
汚いっちゅーか、黒魔術つかいすぎだと思う
0577nobodyさん
2009/07/05(日) 19:27:05ID:???0578nobodyさん
2009/07/05(日) 23:56:06ID:???params = {
:hoge => [
{ :title => "タイトル1",
:items => ["項目1","項目2",…]
]
}
上手いやり方知らない?
これだと上手くいかない
<%= text_field_tag 'hoge[][title]' %>
<%= text_field_tag 'hoge[][items][] %>
0579nobodyさん
2009/07/05(日) 23:58:51ID:???こんなパラメタ受け取りたいんだけど
params = {
:hoge => [
{
:title => "タイトル1",
:items => ["項目1-1","項目1-2",…]
},
{
:title => "タイトル2",
:items => ["項目2-1","項目2-2",…]
},
…
]
}
上手いやり方知らない?
これだと上手くいかない
<%= text_field_tag 'hoge[][title]' %>
<%= text_field_tag 'hoge[][items][] %>
0580nobodyさん
2009/07/06(月) 00:46:11ID:???0582nobodyさん
2009/07/06(月) 10:19:10ID:???Rails 2.3.2 だと、インデントにTABを使っている(grep '^TAB文字' で判断)のは
actionpack-2.3.2/lib/action_view/helpers/form_options_helper.rb
activerecord-2.3.2/lib/active_record/fixtures.rb
activesupport-2.3.2/lib/active_support/vendor/builder-2.1.2/builder/xchar.rb
のみだった。
0583nobodyさん
2009/07/06(月) 10:20:51ID:???0584nobodyさん
2009/07/06(月) 14:29:53ID:???0585nobodyさん
2009/07/06(月) 15:02:08ID:???多少の違いはあるかもしれんが、
ほとんどのプログラマは「普通」の感覚があると思うぞ。
0586nobodyさん
2009/07/06(月) 15:21:41ID:???2文字じゃ困るって話じゃないかな
0587nobodyさん
2009/07/06(月) 17:07:12ID:???0588nobodyさん
2009/07/06(月) 18:09:23ID:???とくに年寄りにその傾向があるようだ
0589nobodyさん
2009/07/07(火) 03:00:09ID:???ソースはけっこう汚いこともあるよ(ロジックが汚いという意味ではない)
インデントとかコメントのルールとか、全然統一取れていないこともある
NTT 系の仕事だったら、NTT のやつらに絶対だめ出し食らうレベル
>>588
Linux(Unix)が開発環境となっている環境(CとかPHP/Rubyが多いかな)は、
・インデントはタブ
・vi なり Emacs で、タブ幅を4
を前提というかコーディング規約にしているところは多いね。
そういうのをWindowsのエディタや Eclipse で見ると崩れて見える。
(設定すればいいのだが)
んで、文句をいうと袋だたきにあう
どっちがいいか、というのではなく、文化というか習慣の問題だと思うが
0590nobodyさん
2009/07/07(火) 08:29:50ID:???# vim:set tabstop=2 shiftwidth=2 expandtab:
Rubyでviなら↑がデファクトスタンダードだと思うのだが。
0591nobodyさん
2009/07/07(火) 08:31:45ID:???0592nobodyさん
2009/07/07(火) 08:57:12ID:???0593nobodyさん
2009/07/07(火) 10:00:13ID:???Windows使ってるから特別にデフォルトでも4タブが崩れないようにしろって主張は、
ちょっと意味がわからない。
0595nobodyさん
2009/07/07(火) 18:06:15ID:???おきるエラーがあります。
1.8.6系の問題でよくトラブるので、サーバーも1.8.7にあげる予定なのですが、
原因を知っておきたくてご相談します。
下記ソースの
@sub_items = sub_items.all
のところで、ログ見ると↓見たいに言われてます。
LocalJumpError (no block given):
app/controllers/sub_items_controller.rb:5:in `index'
下記のようにすると問題なく動くのですが…。
@sub_items = @item.sub_items.all
以下、ソース
(config/routes.rb)
map.resources :items, :has_many => :sub_items
(app/models/sub_item.rb)
class SubItem < ActiveRecord::Base
belongs_to :item
end
(app/models/item.rb)
class Item < ActiveRecord::Base
has_many :sub_items
end
0596595
2009/07/07(火) 18:08:13ID:???class SubItemsController < ApplicationController
# GET /sub_items
# GET /sub_items.xml
def index
@sub_items = sub_items.all
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @sub_items }
end
end
:
# フィルタで必ず実行させる
before_filter :must_item_present
private
def must_item_present
@item = Item.find(params[:item_id])
end
def sub_items
@item.sub_items
end
環境: Rails 2.3.2, 鯖: Ubuntu 8.04LTS Ruby 1.8.6, テスト環境: Windows XP SP3, Ruby 1.8.7
0597nobodyさん
2009/07/07(火) 20:24:32ID:???複数のfixtureで共通するERBコードをDRYしてどこかに書きたいものなのですが、
どこに置いたものでしょうか?
というか、fixture微妙につかいにくくないですか?
みなさん、どうしてます?
0598597
2009/07/07(火) 20:58:43ID:???factory girl使った場合、rake db:fixtures:load 相当はどうやったらいいいもんですかね・・・
0599nobodyさん
2009/07/07(火) 21:11:14ID:i/gOlMKPview:
<% for .... %>
<%= check_box_tag('hoge_id[]',hoge.id) %>
<% end %>
複数のチェックボックスを動的に生成しているこのチェックボックスを
一つは必須入力にしたいのだがvalidateがうまくいかない。。orz
model:
validates_acceptance_of :hoge_id
↑↓動作せず。。。
:model
def validate
if read_attribute(:hoge_id).nil?
errors.add("nilnil")
end
エラーをみるとparamは hoge_id で渡ってきているのだが
DBにhoge_idがないためチェックが通らない?
(DBにはho_idという名前にしてある)
hoge_id[] にするとNoMethodErrorだし。
助けて・・・m(__)m
0600nobodyさん
2009/07/07(火) 21:25:49ID:QCi36J2Stest環境作ろうと gemで autotest-rails を入れたんだが、
使ってみると、色も無い、ポップアップもなくて殺風景なんだが、
にぎやかに error 教えてくれるものないかな?
0601nobodyさん
2009/07/08(水) 09:57:29ID:???uri = URI("http://localhost:3000/funyafunya/")
res = uri.read
こんなふうにすると uri.read で止まっちゃうんすよね。
mongrel が一度に一コネクションしか処理してくれないからっすかぁ?
やっぱ、そうっすよねぇ。
どうやったらぁマルチにできますか?無理っすかぁ。
0602nobodyさん
2009/07/08(水) 11:14:05ID:???どーしてもHTTP経由がいいなら、mongrelを複数立ち上げてロードバランサを前に置くか、passengerにするか。
HTTP経由でなくてもいいなら、render_component とか。
render_component はプラグインになったんで注意な。
0603601
2009/07/08(水) 19:55:48ID:???0604nobodyさん
2009/07/08(水) 21:34:05ID:???0605nobodyさん
2009/07/09(木) 00:50:39ID:???いまは 2.3 で、トランザクションのネストができると聞きました。
質問です!
トランザクションってControllerでするのでしょうか?
それともModelでするのでしょうか?
2.3 以前と以降で話が違いますか?
ついでにもうひとつお願いします。
ttp://webtama.jp/series/railstips/articles/31
「そうでなければ、ネスト処理は単純に
親トランザクションの一部として振舞います(Rails2.2の動作)」
↑これって、どういうことなのかわかりやすく教えてください。
2回目のトランザクションの開始と終了が無視されて、
1回しかトランザクションが処理されていないという意味でしょうか。
0606nobodyさん
2009/07/09(木) 09:59:54ID:???ビューは画面表示、
それ以外はモデルだと思えばいいよ。
一つに二つの質問は面倒。
0607nobodyさん
2009/07/09(木) 17:41:28ID:???url_forやbutton_toなどを使おうとしたのですが、
どのように引数を記述したものかわかりません。
どなたか、ご助言いただけないでしょうか?
例えば、/items/14/sub_items/45 のような場合は、
button_to("hoge", [@item, @sub_item]) のように記述すればいいのですが、
/items/14/sub_items/45/hage のようなアドレスにアクセスしたい場合、
どのように記述したものでしょうか?
button_to("hoge", :controller => [@item, @sub_item], :action => hage)
また、この辺のことを script/console で試してみようと、
下記のように script/console でurl_forなどヘルパーを実行しようとするとエラーが起きてしまいます・・・
script/console内でヘルパーをテストする方法 - yamazのRails日記 - Rubyist
http://rubyist.g.hatena.ne.jp/yamaz/20060818
>> helper.url_for :controller => 'items'
NoMethodError: You have a nil object when you didn't expect it!
The error occurred while evaluating nil.url_for
from c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_view/helpers/url_helper.rb:85:in `send'
from c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_view/helpers/url_helper.rb:85:in `url_for'
from (irb):55
from :0
0608nobodyさん
2009/07/09(木) 17:52:22ID:???item_subitem_path(@item, @sub_item) # or _url
で。
consoleで使うには
app.item_subitem(以下ry
0609607
2009/07/09(木) 20:24:00ID:???ありがとうございます!
_path使って /items/10/sub_items/11 のようにはアクセスできるようになりました。
script/consoleでも動きました。
/items/10/sub_items/11/hage のようなアドレスですが、
Rails 2.3だと、:format指定でいけました。
item_subitem_path(@item, @sub_item, :format=>:hage)
ただ、
/items/10/sub_items/11.hage
というようなアドレスになってるんですが、大丈夫なのかなこれ…。
0610nobodyさん
2009/07/09(木) 21:51:02ID:???同じURLでも拡張子によってHTMLやJSONやXMLを返せるようにするためのもの。
hageの部分はそのままでは表せないので
config/routes.rb に
map.resources :items do |item|
item.resources :sub_items, :member => { :hage => :get }
end
と書くと
hage_item_sub_item_path(:item_id, :id)
で
/items/:item_id/sub_item/:id/hage
を表せる。
この場合、 SubItemsController#hageが、HTTP Getで呼ばれる。
0611nobodyさん
2009/07/09(木) 21:52:04ID:???○ .../sub_items/...
どういう規則が定義されているかは rake routes で。
0612nobodyさん
2009/07/09(木) 22:23:18ID:???RESTfulなルーティングからそろそろ外れてくるので、独自に書く必要が
出てくると思う。
item.myaction 'items/:item_id/sub_items/:id/:para',
:action => 'myaction', :controller => 'sub_items'
とか指定すれば
item_myation_path(item, sub_item, :para => 'hage')
#=> /items/:item_id/i/sub_items/:id/:para
0613nobodyさん
2009/07/09(木) 23:34:06ID:???0614nobodyさん
2009/07/10(金) 02:38:02ID:UisZbpVA原文ではなぜエラーにならないのか??
いまいちルーティングの書き方を理解できてない俺。
0615nobodyさん
2009/07/10(金) 05:02:00ID:???たしかに、
map.paged_users '/users/pages/:page'
だとエラーになる。
map.paged_users '/users/pages/:page', :controller => 'users', :action => 'pages'
みたいに書けば動く。
使うときは<%= paged_users_url(:page => 1) %>
(rails 2.2.2で確認)
0616nobodyさん
2009/07/10(金) 08:40:52ID:???サーバー起動して、
http://127.0.0.1:3000/
を表示させているんですが、
結構時間がかかります。
何かお手軽な方法はありませんか?
0617nobodyさん
2009/07/10(金) 10:33:57ID:???(config.cache_classes = false)ので、再起動の必要はない。
スタイルシートの狂いの視認とかでなければテストを書いて走らせるだけで済むかも。
0619nobodyさん
2009/07/10(金) 14:45:40ID:???0621607
2009/07/10(金) 16:58:44ID:???>>612-613
rake routesでも確認してみています。
少し疑問があるのですが、
ネストしていない状態で、コントローラーにメソッド hage を勝手に定義して、
:action => :hage, :id => @item
のような感じでurl_forなどに渡すと、>>612のように定義しなくてもちゃんとルーティングしてくるのですが、
これは、config/routes.rbの中の下記記述によるものなのでしょうか?
map.connect ':controller/:action/:id'
0622nobodyさん
2009/07/10(金) 18:26:18ID:???0623nobodyさん
2009/07/10(金) 19:26:54ID:???resourcesで定義したshow呼ばれない?
0624607
2009/07/10(金) 19:31:50ID:???以下のような感じでうまく行きました。下記は、
/items/:item_id/sub_items/:id/hage
のようにアクセスさせたい場合です。hage は getでアクセスするものとしてます。
(config/routes.rb)
# /items
map.resources :items do |item|
# /items/:items_id/sub_items
item.resources :sub_items,
# /items/:item_id/sub_items/:id/hage
:member => {:hage => :get}
end
(app/controllers/sub_items.rb)
:
# GET /sub_items/1/hage
def hage
respond_to do |format|
format.html { redirect_to(item_sub_item_url) }
format.xml { head :ok }
end
end
(app/views/sub_items/index.html.erb)
:
<% @sub_items.each do |sub_item| %>
:
<td><%= button_to("ハゲる", hage_item_sub_item_path(@item, sub_item), :method => :get) %></td>
:
わかっている人には当たり前のことだと思うのですが、今日という日は、みなさま本当にありがとうございました。
0625nobodyさん
2009/07/10(金) 20:14:06ID:???セッションについてお聞きしたいのです。
webアプリ自身あまり慣れていない者なのですが、
「Agile Web Development with Rails」(3版)では、
セッションに複雑なもの入れんな(とかいいつつ、チュートリアルではクラスのインスタンス入れてたりしますが)
とあったり、
「Railsレシピブック」では P83に
なお、Rails 開発チームの見解としては、セッションに入れるデータは、
ユーザーのID(整数)とflash メッセージ程度にとどめることが推奨されています。
などとあるのですが、この辺の開発チームの見解はweb上でどこかに記述がありませんでしょうか?
参考にしたいのですが…
0627nobodyさん
2009/07/10(金) 21:18:35ID:???■ このスレッドは過去ログ倉庫に格納されています