【Ruby】Ruby on Rails Part6
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2008/10/24(金) 17:46:53ID:???http://pc11.2ch.net/test/read.cgi/php/1207425569/
■参考サイト
<英語>
本家: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 33
http://pc11.2ch.net/test/read.cgi/tech/1223709050/
Ruby 初心者スレッド Part 22
http://pc11.2ch.net/test/read.cgi/tech/1221467121/
0881853
2009/04/07(火) 12:18:13ID:???日本語が ・・・・・・・ と点で表示されてしまうようです。
また、いろいろ試してみます。それでは失礼します。
0882nobodyさん
2009/04/07(火) 12:29:06ID:???0884nobodyさん
2009/04/07(火) 20:33:42ID:???ありがとうございました。
to_dateはクリアできました。
で、今配列に{Sun, 19 Apr 2009=>[], Fri, 10 Apr 2009=>[],…}
ってな具合に1月分date型で入ってるんだけど
Tue, 07 Apr 2009 ←今日の日付
とinclude?するとfalseになる。
=>[]があるからfalseになるのかな?
include?って完全一致?
0885nobodyさん
2009/04/07(火) 21:01:55ID:???>> days = (('2009-04-01'.to_date)..('2009-04-30'.to_date)).inject({}){|h,d| h.merge(d=>[])}; nil
>> days.include?('2009-4-7'.to_date)
=> true
0886854
2009/04/08(水) 13:05:31ID:yKX835d9これでいけました!レスくださった方々ありがとうございましたm(_ _)m
0887853
2009/04/08(水) 14:17:09ID:???半分あきらめに近いですが、SJISの範囲内ならまあいいということで…
例としては、spec_helper.rb(rspecで共通で読み込むルーチン)に以下を追加します。
require 'kconv'
if ENV['OS'] =~ /Windows/i && ENV['TERM'].nil?
class StdoutHook
def write(str)
# STDOUT.write str.to_s.kconv(Kconv::SJIS, Kconv::UTF8)
STDOUT.write str.to_s.tosjis
end
$> = new
end
end
STDOUT乗っ取り?はMLの過去ログを参考にしましたが、もっといい方法があれば捕捉お願いします。
[ruby-list:45331] Re: Windows コマンドプロンプトで UTF-8を出力するには
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/45331
0888853
2009/04/08(水) 14:46:23ID:???---- spec_helper.rb への追加コード ----
# only command prompt at Windows
if ENV['OS'] =~ /Windows/i && ENV['TERM'].nil?
require 'kconv'
unless defined?(STDOUT.old_write_for_cmd)
class << STDOUT
alias :old_write_for_cmd :write
# override STDOUT.write
def write(str)
# old_write_for_cmd str.to_s.kconv(Kconv::SJIS, Kconv::UTF8)
old_write_for_cmd str.to_s.tosjis
end
end
end
end
0889nobodyさん
2009/04/08(水) 16:29:28ID:???現在は File.dirname(__FILE__) + "/../log" とかやっているのですが、
RAILS_ROOT + "/log" とかできるといいなーと。
0890nobodyさん
2009/04/08(水) 17:25:39ID:???rails 以外のふるーいアプリで使いたいのですが、
$ cat test.rb
require 'action_view'
collection_select(...)
$ ruby test.rb
としても undefined method `collection_select' なんて言われます。
ActionView.Helpers.FormOptionsHelper.collection_select(...
にした場合は undefined method `Helpers' for ActionView:Module と。
どうすれば rails 以外から collection_select が使えるようになりますか?
0892nobodyさん
2009/04/08(水) 21:33:38ID:???0893nobodyさん
2009/04/08(水) 22:18:15ID:???お、それは初めて知った。
今試してみたら、Rails.rootはPathnameで返って来るんだね(RAILS_ROOTはString)。
0894nobodyさん
2009/04/09(木) 00:12:20ID:Hon6X4Il現に使われている以上、負け犬の遠吠えに他ならないレスだな
http://www.grails.org/Testimonials
0895853
2009/04/09(木) 01:42:24ID:???文字化けしまくりで、
直すのやっかいそう&そろそろrails関係なさげなので、本スレの方に行ってきます。
0896nobodyさん
2009/04/09(木) 10:06:46ID:8toP/BB5もしいたらバージョンと設定方法教えてもらえないでしょうか・・・。
0897nobodyさん
2009/04/09(木) 10:55:54ID:???その頃gettextは対応してなかったので。
gettext 2.0.0 出たし、いまはどうか分からないな。
0898896
2009/04/10(金) 00:58:01ID:???レスありがとうございます。
やっぱり無理なんですかね・・・。
公式に「無理!」って情報とかってあったりするんでしょうかね・・・。
ちなみに、i18n を使う場合、メールの iso-2022-jp 周りとかってやっぱり自前になるんですか?
0899nobodyさん
2009/04/10(金) 08:58:13ID:4tZH5Ujqでも、iso-2022-jpで送信する方法は検索すればすぐ見つかるから苦労しないと思う。
0900nobodyさん
2009/04/10(金) 10:03:18ID:???RFC 違反だけど、多くのメーラで文字化けしない方法ってあるよね?
その ruby 版のコードってどこにありますか?><
0901nobodyさん
2009/04/10(金) 11:29:23ID:???ttp://code.nanigac.com/source/wiki/view_title/641/%E8%B6%B3%E3%81%97%E7%AE%97
をコピペして勉強してます。
値を入れずにボタンを押すと
undefined method `self_and_descendants_from_active_record' for Add:Class
が出ます。ググると
ttp://jijixi.azito.com/cgi-bin/diary/index.rb?date=20090317#p02
があったので、app/controllers/add_controller.rb に
def self_and_descendants_from_active_record
self_and_descendants_from_active_record
end
としてエイリアス?を用意しても変わらず。どうすれば解決するでしょうか。
0902nobodyさん
2009/04/10(金) 12:17:16ID:???0903nobodyさん
2009/04/10(金) 13:02:54ID:???0904853
2009/04/10(金) 14:04:46ID:???・win32/console/ANSIのせいで、rspecオプションに--colourつけると文字化けする
(というかstdout.writeを上書きできてない)のを修正した。
・UTF-8→SJISの変換の際に、Kconv.tosjis使うと半角カタカナが全角になったり、
MIMEが変換されたりするのを防止するためにnkf使うように修正
---- spec_helper.rb への追加コード ----
require "nkf"
# convert $stdout to sjis for command prompt at Windows
if !defined?($stdout.old_write_for_sjis_filter) &&
RUBY_PLATFORM =~ /win32/ && ENV['TERM'].nil?
class << $stdout
alias :old_write_for_sjis_filter :write
def write(str)
# change to sjis AS IS
old_write_for_sjis_filter NKF.nkf('-sxm0', str.to_s)
end
end
# puts "overrode $stdout.write"
end
何回もうざくてゴメン。たぶんこれで最後です。
0905853
2009/04/10(金) 14:05:38ID:???ぎゃーインデント崩れた。うざいのでそろそろブログの方に書きます
require "nkf"
# convert $stdout to sjis only command prompt at Windows
if !defined?($stdout.old_write_for_sjis_filter) &&
RUBY_PLATFORM =~ /win32/ && ENV['TERM'].nil?
class << $stdout
alias :old_write_for_sjis_filter :write
def write(str)
# change to sjis AS IS
old_write_for_sjis_filter NKF.nkf('-sxm0', str.to_s)
end
end
# puts "overrode $stdout.write"
end
0906nobodyさん
2009/04/10(金) 21:19:22ID:???oeとかがどうやってるか、ちゃんと生メールを見て同じように処理するのが問題が少ない。
基本的に、文字の入力はjisで行わせて無変換で送るようにしたほうが文字化けを回避できる。
最悪、utfで統一でも支障はない。
http://pc12.2ch.net/test/read.cgi/tech/1230466044/
ネットワークプログラミング相談室 Port23
http://pc12.2ch.net/test/read.cgi/tech/1235800707/
ネットワークプログラミング雑談
0907nobodyさん
2009/04/11(土) 00:35:00ID:???たぶんActiveForm使ってる?
2.2から国際化の仕組みが入ってて、そのままだとエラーになるみたい。
自分はActiveFormのコードを修正して対応したよ、以下参考に。。。
active_form.rb
class << self # 51行目くらいの所に下のコード追加
def self_and_descendants_from_active_record
[self]
end
def human_name(*args)
name.humanize
end
end
もしくはここから新しいやつ落としたほうがいいかな・・・。
ttp://github.com/cs/active_form/tree/master
0908nobodyさん
2009/04/11(土) 06:28:01ID:???http://blog.s21g.com/articles/1418
JRuby + RailsもGoogle App Engineで動くんじゃね?
0909nobodyさん
2009/04/11(土) 12:04:21ID:???0911nobodyさん
2009/04/11(土) 13:37:10ID:???0912nobodyさん
2009/04/11(土) 17:57:50ID:???JRuby on Railsも動いたみたいだね。
JRuby on Rails on Google App Engine勝手訳 - ずっと君のターン
http://d.hatena.ne.jp/technohippy/20090408/1239196300
せっかくのActiveRecord(O/Rマッパ)使えないからつらそうだけど
0913nobodyさん
2009/04/12(日) 12:14:31ID:???このキャッシュを特定のアクションでキャッシュさせない事はできるでしょうか。
Ajaxのリクエストがキャッシュされ、
前回実行時の結果がレンダリングされてしまうのを防ぎたいのですが。
0914nobodyさん
2009/04/12(日) 12:42:56ID:???Javascriptで描画した内容が元に戻るってこと?
0915nobodyさん
2009/04/12(日) 15:56:54ID:???0916nobodyさん
2009/04/12(日) 16:59:20ID:???>Rails 2.3からリクエストの結果がキャッシュされるようになりましたが
こういう認識に至ったのはどういう訳で?
0917913
2009/04/12(日) 22:23:27ID:???Rails2.3のリリースノートです。
5.8 Improved Caching Performance
Rails now keeps a per-request local cache of read from the remote
cache stores, cutting down on unnecessary reads and leading to better
site performance. While this work was originally limited to
MemCacheStore, it is available to any remote store than implements
the required methods.
実際にどういう箇所で問題が起きているかというと、モーダルです。
1. モーダルをAjaxで開く
2. モーダル内で何か操作を実行(モーダル内のHTMLがAjaxで書き換えられる)。
3. モーダルを閉じる
4. モーダルを再び開くと、2.の結果がそのまま表示される
という状態です。
こちらとしては、モーダルを開いたら初期状態でモーダルの内容が
表示されて欲しい訳です。
Rails2.2まではその通りの動作でした。
しかし、Rails2.3に上げた所、
モーダル操作後の結果がキャッシュされるようになってしまいました。
4. の再びモーダルを開く際には、モーダルが開いてもコンソールログは出ません。
なのでリクエスト自体がキャッシュされていると思います。
0918913
2009/04/12(日) 22:33:52ID:???少し自分で2.3.2のソースを読んでみようと思います。
お騒がせしました。
0919nobodyさん
2009/04/12(日) 22:42:03ID:???キャッシュされているというのは推測みたいだし。
Parosとかのパーソナルファイアーウォールを使えばリクエストもレスポンスもキャッチできる。
0920nobodyさん
2009/04/12(日) 22:43:11ID:???↓
ローカルプロキシ
間違えた・・・
0921nobodyさん
2009/04/13(月) 01:17:43ID:???remoet cache storeの例にMemCacheStoreが挙げられているから、
localってのはRails Framework側で持ってるcache storeのことなのかな。
0922nobodyさん
2009/04/13(月) 03:33:44ID:Mmo44XLBそもそもモデルクラスでlink_to使おうとするのは邪道でしょうか?
教えていただけると幸いです。
0923nobodyさん
2009/04/13(月) 06:44:46ID:???0924nobodyさん
2009/04/13(月) 07:48:49ID:???タイトルくらい貼ろうぜ
Twitter、Ruby on RailsからScalaへ - スラッシュドット・ジャパン
http://slashdot.jp/developers/09/04/10/0421223.shtml
Twitter は Ruby on Rails で構築されたそのインフラを徐々に Scala に置き換えているそうだ (Technology Review の記事, 本家 /. 記事) 。
Twitter ではフロントエンド、バックエンド共に Ruby on Rails が使われていたが、
最近では大量のメッセージを処理できず「Fail Whale」出現の原因となったりしていた。
このため Twitter の開発チームは代替言語として Scala を採用、少しずつバックエンドや
インフラを Scala に置き換えているそうだ。スイス連邦工科大学ローザンヌ校の
Martin Odersky 氏によって開発された比較的新しいプログラミング言語である Scala は
並列プロセスの処理に長けている点が Twitter に向いており、
また言語としてのフレキシビリティも開発にとっては魅力とのこと。
短所としては、機能も多く、シンタックスも見慣れた感じでは無いため習得が簡単ではないことと、
新しい言語であるため実績がまだ少ないことだという。
それでもTwitterでは多くのテストケースを成功させており、Scala の方がメリットが多いと考えているようだ。
開発チームはフロントエンドは Ruby on Rails のまま、
年内には API リクエストの一連の処理を Scala で行えるようにしたいとしている。
0925nobodyさん
2009/04/13(月) 08:37:28ID:???0926nobodyさん
2009/04/13(月) 10:33:52ID:???あと、計算なら C でもいいし。
フロント部分が Scala/C はありえんけど。
言語は使い分け。
0927nobodyさん
2009/04/13(月) 11:40:40ID:???そんなケースはほとんどないとか言われたな。そういう考えのやつも多いのだろう。
0928nobodyさん
2009/04/13(月) 19:37:14ID:???そのうちscalaフレームワーク公開してくるかもな。
>フロント部分が Scala/C はありえんけど。
CはともかくScalaはrubyと比べても良い言語だし、ありえないことは無い。
0929nobodyさん
2009/04/13(月) 20:45:25ID:???add column after hoge
をやりたいのですが、afterに相当する機能がないっぽいです。クエリべたっと書けばできますが、スマートな方法はないでしょうか?
0930nobodyさん
2009/04/13(月) 21:34:04ID:???特定のDBMSに依存する処理は素直にSQL書くのがスマートだと思うよ。
add column afterがDBMSとして一般的な機能でRailsがサポートしていないなら
プラグインを作る価値はあると思うんだけど、MySQLだけとかだったら
やっぱり直接SQLを書いたほうが誰が見ても分かりやすい。
0931nobodyさん
2009/04/13(月) 22:23:22ID:???抽象化したほうが、DB変わった場合の環境でも手直しは少ないと思うけどな。
0932nobodyさん
2009/04/16(木) 02:18:06ID:???損の方が多い。
0933nobodyさん
2009/04/16(木) 10:11:07ID:???0934nobodyさん
2009/04/16(木) 19:02:58ID:RLOaA3va/aaa/30000/bbb/ccc
というURLにリクエストが来たとき、
30000というidを取得しつつ、
aaaコントローラのbbb_cccアクションが呼ばれるようにしたいのですが、そういったことは可能でしょうか??
0935nobodyさん
2009/04/16(木) 19:42:35ID:???「Rails によるアジャイル〜第二版」を読みながらやっているのですが、さっそくはまった。
1. rails depot
2. (DB作成)
3. nruby script/generate model product
4. rake db:migrate
5. ruby script/generate controller admin
ここまで実行し、本のP.62 の通り、admin_controller.rb において
class AdminController < ApplicationController
scaffold :product
end
と修正して、mongrel を立ち上げてブラウザで
http://localhost:3000/admin にアクセスしたのだけど、
NoMethodError in AdminController#index
と出る。products テーブルの CRUD 画面が出ないのですが、
どうしたらいいのでしょうか。
http://d.hatena.ne.jp/idesaku/20071211/1197386955
にあるように、以下のようにやらないといけないのですか?
ruby script/generate scaffold モデル名 テーブルにあるカラム
すでに 上記 3. と 4. で、空のモデルクラスとテーブルは出来ているので、
AdminController を直すだけには出来ないのでしょうか?
0936nobodyさん
2009/04/16(木) 19:47:12ID:???0937935
2009/04/16(木) 19:57:36ID:???def index を追加し、app/views/admin/index.html.erb を作成すれば、
ブラウザでアクセスすれば、ページが表示されますが、それは CRUD 画面ではなく、
本の第4章の、Hello, Rails と同じですよね。
>>935 で示した hatena と同じように、別モデル(person)を
ruby script/generate scaffold person .....
としたら、自動生成された people_controller.rb には、結構な量のソースが生成されたのだけど、
Rails 2.0 からは、コントローラに scaffold と1行書けばよい、というやり方は廃止になった、ということ?
0938nobodyさん
2009/04/16(木) 21:01:57ID:???Railsは変化が激しいから本と違うバージョンでやらない方がいいと思うよ。
1.2からはスキャフォールド生成の手順からして変わってる。
0939nobodyさん
2009/04/16(木) 21:03:03ID:???0940nobodyさん
2009/04/16(木) 21:37:52ID:???http://yoshitan.blog6.fc2.com/blog-entry-194.html
1.2系とはちょこちょこ変わっているので2.x系の手順でできているなら、些末なところには拘らない方がいいと思う
最悪active_scaffoldでも代替できるしね
0941nobodyさん
2009/04/17(金) 00:36:24ID:???ソースから見せたくないのだ
0942nobodyさん
2009/04/17(金) 00:52:39ID:???0943nobodyさん
2009/04/17(金) 01:01:29ID:???質問してはその後まったくレスのないやつが多いな
0944nobodyさん
2009/04/17(金) 01:55:27ID:???0945935
2009/04/17(金) 02:31:23ID:???レスどうもありがとうございます。
底や別のページを見て、Rails 1.2 系が持っていた scaffold 機能は 2.0 系でなくなったと理解しました。
scaffolding や ActiveScaffold を入れれば 2.0 でも1.2 系のことが出来るそうですが、
ややこしいので、ひとまず 別環境に Rails 1.2.6 を入れて、そっちで勉強することにしました。
もう一つグチ。「Rails によるアジャイル〜」の本で、(正確なページ数は忘れたが) P62 ページの後、
足りないカラム(price カラム)を足す演習がありますが、
Rails 1.2 系だと、rake db:migrate でカラム出すだけで、scaffold の画面をリロードするだけで
増えたカラムが画面に反映されるが、
Rails 2.0 で、>>935 に書いた
$ ruby script/generate scaffold モデル名
を再度実行しても、そもそも Contoroller や views/admin 以下の *.html.erb に
CRUD を行う HTML がべた書きされてしまっているため、増えたカラムが反映されない。
結局テーブルをドロップして、scaffold をやり直した。
どうして Rails 2.0 系は scaffold を廃止したのだろう?
※
といいつつ、よほどイントラ向けでユーザもうるさくない場合以外は、
業務ではscaffold なままの web アプリは使わない、と同僚からツッコミがあった。
0947nobodyさん
2009/04/17(金) 14:31:56ID:???0948nobodyさん
2009/04/17(金) 15:03:11ID:???0949nobodyさん
2009/04/17(金) 21:21:58ID:???0950nobodyさん
2009/04/17(金) 22:57:15ID:???自分もRailsに慣れるとscaffoldは使わない事が多くなってくるので、
scaffoldに固執しないほうがいいと思う。
基本的な流れというか使い方を覚えたら、
最新版のRailsで何か作るほうがいいんじゃないかな。
当然、バージョンが違う事で詰まる部分があるんだけど
ググったり、このスレで聞いたりすればなんとかなる。
0951nobodyさん
2009/04/18(土) 01:28:25ID:???generateで作るやつがあるが、後者は2系でも普通にある。こっちはRESTful
なリソースを公開しようとすると、なんだかんだ言って基本的な骨組みは
scaffoldのものが使えたりする。
0952934
2009/04/19(日) 20:26:48ID:GcnrJHDf0953nobodyさん
2009/04/19(日) 21:43:31ID:???map.connect ':controller/:id/bbb/ccc', :action => 'bbb_ccc'
0954nobodyさん
2009/04/19(日) 21:44:38ID:???map.connect 'aaa/:id/bbb/ccc', :controller => 'aaa', :action => 'bbb_ccc'
のほうがいいか。
0955952
2009/04/20(月) 01:59:43ID:PwSyAV4m0956nobodyさん
2009/04/20(月) 10:04:09ID:???あるページにジャンプする際に、非ログイン状態だと403を返すようにしたいのですが、
これはどこにコードを記述するべきでしょうか?
0957nobodyさん
2009/04/20(月) 14:25:50ID:???restful authenticationつかってない?
0958nobodyさん
2009/04/24(金) 20:51:26ID:/YVXcJLc(User.find 133).friends(:all, :conditions => ["age = ?", 20])
こんな感じのことをしたいのですが、どうすればいいでしょうか。
(.friendsでは配列が返ってくる・・)
なんかうまい書き方があったら教えていただけると幸いです><
0959nobodyさん
2009/04/24(金) 21:08:16ID:???0960nobodyさん
2009/04/24(金) 21:37:48ID:???class Friend < AR::Base
named_scope :of_age, lambda {|age| { :conditions => [ 'age = ?', age ] } }
end
User.find(1333).friends.of_age(20)
0961nobodyさん
2009/04/24(金) 22:21:15ID:???:conditions に ハッシュを渡せば 各キーが AND で結合されますが、
product = Product.find(:all,
:conditions => {
:price => 1000,
:kubun => [6, 7, 8]}
)
select * from products where price = 1000 and kubun in (6, 7, 8)
key > value とかはできまませんか?
以下のような(在庫数が 10 以上 20 以下)SQL を実行させる Ruby コードを書きたいです。
10..20 として between を使いたいところですが、画面側で 10以上 だけしか指定されない場合があるため、使えません。
select * from products where price = 1000 and kubun in (6, 7, 8) and zaiko > 10 and zaiko < 20
0962nobodyさん
2009/04/24(金) 22:38:10ID:???args = [ 1000, [6,7,8, 10] ]
if upper
conditions += ' AND zaiko < ?'
args << upper
end
find(:all, :conditions => [ conditions, *args ])
0963nobodyさん
2009/04/24(金) 22:38:51ID:???0964nobodyさん
2009/04/24(金) 22:55:22ID:???やはり :conditions にハッシュを渡す方法じゃなく、
:conditoins => 配列 のやり方
(配列の第一要素が SQL の文字列、第二要素以降がバインド変数のパラメータ)
じゃないとできないですか。
その方法でやってみます。
0965nobodyさん
2009/04/24(金) 23:32:47ID:???:conditions => [ 'price = :p', { :p => 1000 } ] とも書けるな。
0966nobodyさん
2009/04/25(土) 00:01:47ID:???その15コがそのまま SQL のパラメータになるんだけど、session オブジェクトをそのまま ActiveRecord のモデルのメソッドに
渡してもよい?
それとも何か Condition クラスを作り、そこに詰めてからモデルに渡すべき?
Java 的発想だと、Http 層を 永続化層に持って行くのはよくないので、なんらかのオブジェクトに詰め直してから
渡しますが、Rails でもそうしたほうがいいでしょうか。
session はハッシュなので、そのハッシュから部分的なハッシュを作り直し、ハッシュ渡しにしようかと思いましたが、
入力項目が多いので、抜けがあると間違いの元なので、単独の Condition クラスを定義しようと思っています。
0967nobodyさん
2009/04/25(土) 07:37:56ID:???最初からConditionオブジェクトに詰めて永続化しておき、Sessionでは
参照キーだけを持っておくという形にする気がする。
0968nobodyさん
2009/04/25(土) 13:09:16ID:???Railsでは詰めなおしてもあまり意味ないかも。
入力項目のチェックはActiveRecordがするんだし。
0969nobodyさん
2009/04/25(土) 13:27:35ID:???標準のrspecとmock、stubとどう違ってくるんでしょ
0970nobodyさん
2009/04/25(土) 16:44:24ID:???テーブルとモデルを1:1で紐づけるのがactive recordパターン
テーブルとモデルをn:nで紐づけるのがdata mapperパターン
Webはフォームの入力項目 ≒ テーブルなのでactive recordパターンが広く使われている
なので、sessionでもつハッシュの構造はDBにあわせた方がベター
それができない場合は、モデルにハッシュ構造の変換処理を書くのが作法
ARにもバリューオブジェクトあるけど、ちょっと用途が違う気がする
0971nobodyさん
2009/04/25(土) 23:25:28ID:???凝った検証処理が必要ないなら Hash#assert_valid_keys でチェックしてから Hash#slice で切り出して渡すかな。
0972nobodyさん
2009/04/26(日) 05:03:44ID:???アップロードした画像をリサイズしてくれたり、ファイル一覧をサムネイルで表示してくれたり、
選んだの削除できたり
そういうステキなのキボン
0973nobodyさん
2009/04/26(日) 14:44:10ID:ZTlDJFDt作ってくだ(ry
0974966
2009/04/26(日) 18:58:31ID:???結論としては、session オブジェクトをモデルのメソッドに渡すのをやめ、
新規に condition オブジェクトを作ることにしました。
>>970
今回のケースでは、
画面の入力項目はそのまま SQL のパラメータになるけど、モデル(テーブル)の属性にはならないのです。
>>961 (これも自分なのだが) のように、商品マスタの price が ○円以上○円以下で、kubun が■or■で・・・・といった条件が延々と並ぶ。
だからモデルクラスはそのまま使えませんでした。
>>971
ruby リファレンスマニュアルの hash をみたところ、assert_valid_keys や slice というメソッドはありませんでした。
これは自分で特異メソッドとして定義せよ、ということ?
0975nobodyさん
2009/04/26(日) 19:04:34ID:???http://api.rubyonrails.org/classes/ActiveSupport/CoreExtensions/Hash/Keys.html#M001164
0976nobodyさん
2009/04/27(月) 16:33:28ID:ty2d5Btl>>960
ありがとうございますm(_ _)m
すいません他にも質問したいことができました。
if true
User.friends
elseif
User.parents
else
User.childern
end
のような処理をしたいとき、
User.xxx のxxxの部分を変数みたいにして、条件分岐なしで一行で書くことはできないでしょうか??
ご教示いただけると幸いです。
0977nobodyさん
2009/04/27(月) 20:17:33ID:ty2d5Btlif x='friends'
User.friends
elseif x='pearents'
User.parents
else x='children'
User.childern
end
を一行で書けないか・・みたいな感じです。
0978nobodyさん
2009/04/27(月) 20:24:34ID:???0979nobodyさん
2009/04/27(月) 20:26:28ID:???User.method(x).call
0980nobodyさん
2009/04/28(火) 00:13:18ID:???現在、items(仮)というテーブル(id, name)からnameを条件にレコードを検索し、
will_paginateを使用して表示している機能があります。
その機能を、検索条件との「完全一致」「前方一致」「部分一致」の順に並び替えたいのですが、
なにかいい方法はないでしょうか…?
複雑なSQLを書けばいけるとは思いますが、何か他に方法がないか模索してします。
レス数が950を超えています。1000を超えると書き込みができなくなります。