無いのはどうしてだろう?
消えたのか?
流行ってないのか
死亡
板違い
3 :
nobodyさん:2008/04/06(日) 13:58:18 ID:KysuF10z
RailsってWebProg用のフレームワークじゃなかったのかw
4 :
nobodyさん:2008/04/06(日) 14:28:34 ID:jvS4H1v5
あいつはいっちまったのさ。それこそPC等カテゴリのプログラム板へ。
誰でも作れる
とオタが考えてる時点ではやる要素ゼロ
日本ではRuby信者が空騒ぎしてただけでしょう、
アメリカではいろんなところでパクられてるとこからそれなりには評価されてたのかな?
8 :
nobodyさん:2008/04/06(日) 21:08:54 ID:GS4ebB/0
なんか滅茶苦茶気持ち悪かった
確かに簡単だったけど使う気にはなれない
複合主キーに対応してない仕様は直ったの?
前はあったけど移動した
板の名前からしてphpだものここ
どう考えても、rorはこの板だろ。
ここでやらないから伸びないんだよw
板名といえば昔Perl板があったような
合併したんだっけかな
もうボケて重い打線
>>10 板の名前じゃなくてURLだろ
どっちにしたってそんなのは理由にならない
14 :
nobodyさん:2008/04/07(月) 19:23:34 ID:bdXkQKGL
>>9 >複合主キーに対応してない仕様は直ったの?
最近のORマッパーはたいがい対応してないような。
EJBも対応してなかった気がする。
Hibernateは対応してそうだなあ。
HibernateもEJBも対応してるよ
DHHが対応しないって明言してるよ
仕様じゃなくてそういうポリシー
ポリシーだから直す可能性ゼロか、既存のデータベースには使いにくいなぁ。
そもそもDBの設計がって文句言ったところで変えられるものでもないし・・・
>>17 まあそういうケースでrailsにリプレースしてもしょうがないってだけの話
railsと複合キーの話は検索すれば色々出てくると思う
複合キーをサポートしてない事を嘆くより、
どういう思想でサポートしないのかを調べて
それによって得られるメリットを考えた方がいい
作るのは簡単でも動作がもっさりで
共有サーバーで動かせないってのが致命傷
class Address < ActiveRecord::Base
validates_presence_of :postcode
validates_format_of :postcode, :with => /\A[[:digit:]]{7}\Z/
def postcode # A
'%07d' % read_attribute(:postcode)
end
protected
def after_find # B
write_attribute(:postcode, '%07d'% read_attribute(:postcode))
end
# FormHelper からは postcode_before_type_cast が呼ばれるので。
end
22 :
21:2008/04/08(火) 11:25:34 ID:???
address.find(x) # {:postcode => 123123}
method AとBがコメントアウトされている場合(つまりdef無し)。
address.text_field :postcode # => 123123
address.postcode # => 123123
post :update, {:postcode => '123123'} # => postcode invalid
method A だけコメントアウトされている場合
address.text_field :postcode # => '0123123'
address.postcode # => 123123
post :update, {:postcode => '123123'} # => postcode invalid
method B だけコメントアウトされている場合
address.text_field :postcode # => 123123
address.postcode # => '0123123'
post :update, {:postcode => '123123'} # => 通る
両方動いてる場合
address.text_field :postcode # => '0123123'
address.postcode # => '0123123'
post :update, {:postcode => '123123'} # => 通る
解決法:
FormHelperを書き換えるのは面倒すぎるので
address.postcode を address.postcode_formatted に書き換えた。
これってどうすべきなんだろ。
postcodeフィールドの型がintegerになってんじゃないの?stringでよくね?
24 :
nobodyさん:2008/04/17(木) 00:56:50 ID:L6lC1kuC
ビューで、
<%= hidden_field :reply, :diary_id, :value => @diary.id %>
とかヘルパ使わずに
@reply.diary_id に直接 @diary.id を渡して create メソッドに渡すには
どうしたらよいですか?
誰でも使える(お前以外)
保守
hosyu
30 :
nobodyさん:2008/04/23(水) 23:17:55 ID:HSc7mMQ5
二年くらい前にRoRやったんだけど
PHPから乗り換えるほどでもない気がして離脱
最近Rubyを使うようになったんで
またRoRやってみるよ
でも人がいないね・・
なんで?流行ってないの?
2chやる層とちょっとずれてるんじゃないかね
自前の DB 管理に activescaffold を導入して、もうあとはいじっていない。
composite_primary_keysを入れてActiveRecordだけ使ってる。
使わなくなった人は何故?
・Rubyは好きだがRoRはいまいち
・RubyもRoRもいまいち
どっち?
使わなくなったというより、
いろんなものを移行する必要があるのが問題なのだろう。
過去の資産をいかせないのは一番まずい。
ローカルでテストしたがレン鯖が未対応ってオチ
負荷高いからな
flash_notice の定義ってどこにある?
自作のメソッドだったorz
わろたw
おまw
41 :
nobodyさん:2008/04/27(日) 00:44:08 ID:+61n+Sa9
俺は Java しか使っていないんだが、
WEBプログラミング板で、EJB や JSF とか検索しても出てこないだろ?
それと同じじゃないか。
この板で扱えるのは共有サーバで使える CGI 止まりなんじゃないかな。
そんなことより、Ruby の CGI スレがいつのまにかないじゃないか。
ぶっちゃけ、CGI とか触ることがあるなら、Perl、PHP はきしょいから触りたくないな。
最近は CGI で動かしても動作が早い RoR の Light 版もあるみたいだね。
Ruby は Sun もかなり力を入れていてくれて、
Java6 は現在 JavaScript を Java 上から呼べるようになっているけど、
Java7 からは Ruby も呼べるようになるとかいう話だしね。
Ruby には CGI の方面でも頑張って頂きたいものだ。
といっても、素のCGIで使ってた物好きアーリーアダプター陣は既に撤退気味なような。
fcgiにしても借り鯖事情の差があるから普及悩ましい所だろな
結局自宅サーバなアレゲさんばかりが(r
43 :
nobodyさん:2008/04/27(日) 11:49:49 ID:h5ceXh5y
http://izumi.plan99.net/blog/index.php/about-me/ l..:.::::::::::::::::::::::::::::イ = =
|.:::::::::::::::::::::::::::::: | ニ=mod_ そ -=
|:r¬‐--─勹:::::| ニ=rails れ =ニ
|:} __ 、._ `}f'〉n_ =- な. で -=
、、 l | /, , ,ヘ}´`'`` `´` |ノ:::|.| ヽ ニ .ら. も ニ
.ヽ ´´, ,ゝ|、 、, l|ヽ:ヽヽ } ´r : ヽ`
.ヽ し きmod_ニ. /|{/ :ヽ -=- ./| |.|:::::| | | ´/小ヽ`
= て っrails =ニ /:.:.::ヽ、 \二/ :| |.|:::::| | /
ニ く. と な -= ヽ、:.:::::::ヽ、._、 _,ノ/.:::::| | /|
= れ.何 ら -= ヽ、:::::::::\、__/::.z先.:| |' :|
ニ る と =ニ | |:::::::::::::::::::::::::::::::::::.|'夂.:Y′ト、
/, : か ヽ、 | |::::::::::::::::::::::::::::::::::::_土_::| '゙, .\
/ ヽ、
44 :
nobodyさん:2008/04/27(日) 12:01:22 ID:h5ceXh5y
初心者す。質問す。
Peopleテーブルを参照しているItemテーブルがあるとします。
Itemテーブルのowner、register、collector列がそれぞれPeopleテーブルのpersonを参照してるのです。
belongs_to で foreign_key => 'register_id' しても item.register は undefined method と言われ取れないす。
どうしたらええのん?
46 :
45:2008/04/28(月) 23:42:20 ID:???
(訂正)
Itemテーブル => Itemsテーブル
owner、register、collector => owner_id、register_id、collector_id
layoutファイルを多段にする方法ってありますか
50 :
nobodyさん:2008/04/30(水) 18:29:31 ID:5F9gljs3
初心者です。
http://www.creativeroot.jp って、Ruby(on Rails) 利用可能 とのことですが、ざっと見たところ
telnetできるようには思えないんです。このようなレンタルサーバ
で新規プロジェクトの作成(rails hoge)ってどうするんですか?
共有レンサバなんだからローカルで開発してうpだろ。。
ひとつのフォームで複数個のモデルを入力したい場合はどうすればいい?
具体的には
1. name: [ ] email: [ ]
2. name: [ ] email: [ ]
3. name: [ ] email: [ ]
4. name: [ ] email: [ ]
....
[Submit]
みたいな感じです。
>>52 追記です。このフォームは、createにもupdateにも使います。
つまり
1. name: [■■■] email: [■■■■] # for update
2. name: [■■■] email: [■■■■] # for update
3. name: [ ] email: [ ] # for create
4. name: [ ] email: [ ] # for create
....
[Submit]
という感じなんですけど。こんな難しいのできます?
54 :
nobodyさん:2008/04/30(水) 19:54:15 ID:5F9gljs3
50です。
>共有レンサバなんだからローカルで開発してうpだろ。。
たとえばrails hogeで作ったhoge配下をFTPでUpしただでOKとも思えずでして。
向こうのライブラリのバージョンが合ってればそれでOK。
合ってなければライブラリをうpして環境変数で場所をセット。
56 :
nobodyさん:2008/04/30(水) 20:31:14 ID:5F9gljs3
50です。
試しに、hoge配下をFTPでUPしてブラウザでアクセスすると403 Forbiddenが返ってきます。
(hoge配下すべてうpしようと試みるが一部553)
WEBサーバにcgiだけをうpするタイプのレンタル鯖なんで、そういう結果になるような気もするのですが。
public以下のフォルダはstylesheets、images、javascriptsというフォルダ名が決まってるようですが、
これは設定で変更することは可能ですか?
具体的には、スタイル関係のファイルが少ししかないので、
public直下にstyleというフォルダを作ってcssも画像もjavascriptも全部つっこみたいんです。
>>45 register という英語がまずおかしいぞ。
アカウント認証のプラグインで、1つのサイトで複数のログイン
(一般ユーザと管理者ユーザ用など)がある場合、どのように
するのがよいのでしょうか?
現在、restful_authenticationをベースに拡張しようとしていますが、
もしよい実例などあれば参考にしたいと思います。
restful_authenticationにオプションがあるよ。。ノシ--stateful
MS SQL Express と RoR 2.02 でデータベースの構築の勉強をしているのですが,
よく分からない問題にぶちあたったので質問させてください.
データベースは
CREATE DATABASE hoge;
use hoge;
CREATE table hoges (
id int NOT NULL IDENTITY(1, 1) PRIMARY KEY,
moji nvarchar(1024) NOT NULL,
);
により作成して,
ruby script\generate scaffold hoge moji:nvarchar
を行いました.
environment.rb に$KCODE = 'u'を追加し,app\views以下のerbファイルをすべてUTF-8
に変換しました.
これでデータベースにデータを追加(new)時,あるいは更新(edit)時に,
mojiに日本語を含む文字列を入力するとエラーが出るようになってしまいました.
例えば,mojiを「あいうえお」にして編集しようとすると,
DBI::DatabaseError: 37000 (102) [Microsoft][ODBC SQL Server Driver][SQL Server]'20080501' 付近に不適切な構文があります。: UPDATE hoges SET [moji] = '縺ゅ>縺・∴縺・, WHERE [id] = 1
とうエラーが出ます.
mojiが日本語を含まない(ローマ字のみ)の場合は何のエラーもなく動作します.
hoge_controller.rbのcreate, updateメソッドの先頭でparams[:hoge][:moji]をまずNKFでsjisに変換して
index.html.erbで表示するときに再びNKFでUTF-8にエンコードするようにすると一応は動作するようになったのですが,
回りくどい感じがしてどうもこれが正しい対処だとは思えません.
こういう場合どう対処すべきなのでしょうか?教えてください.
vmwareなりcolinuxなりを入れて
linux環境で開発するよう対処
$KCODE = "s"
66 :
60:2008/05/02(金) 11:57:27 ID:???
説明不足ですみません。
複数のログインとは、アカウントのテーブルとログインする画面が複数あるという
ことでした。
1.userモデル・ログイン
app/models/user.rb
app/controllers/user/login_controller.rb
2.adminモデル・ログイン
app/models/admin.rb
app/controllers/admin/login_controller.rb
app/controllers/user/user_menu ...
-> user としてログインできているか?
app/controllers/admin/admin_menu ...
-> admin としてログインできているか?
2回 generate authenticated をすると、
lib/authenticated_system.rb
が書き換わってしまうので、このファイルを分けるか、パラメータを追加するか
しなければと思っています。
ちなみに、他に2種類ログイン画面があるようなシステムになっているのですが・・・
>>65 のrollでも対応できますかね。ちょっと考えてみます。
>>66の例で言うと
1.userモデル・ログイン
app/models/user.rb
app/controllers/login_controller.rb
2.adminモデル・ログイン
app/models/admin.rb
app/controllers/admin/login_controller.rb
app/controllers/user_menu ...
-> user としてログインできているか?
app/controllers/admin/user_menu ....
-> admin としてログインできているか?
という感じで/adminみたいな
サブディレクトリ切って別アプリのようにしてるが問題なく動く・・・
68 :
60:2008/05/02(金) 14:03:27 ID:???
>>67 おや、そうでしたか
そのまま restful_authenticationを使った場合、
class UserMenuController < ApplicationController
before_filter :login_required
...
end
こちらはよいんですが、
class Admin::UserMenuController < ApplicationController
before_filter :login_required
...
end
こちれは、adminかどうか別途チェックしているということでしょうか?
また、viewやcontrollerで current_adminとcurrent_userで使い分けはできる
のでしょうか?
(一つの/lib/authenticated_system.rbで?)
話がずれていたら、すみません。参考までに教えていただけると幸いです。
>>68 Rails2.02では無いし、restful_authenticationも使ってなく
lib/login_system.rbで制御してるよ。
(かなり前に作ったシステムだから話ずれてスマン・・・)
adminかどうかのチェックするというより、管理ページ作って
表面上は別アプリとして独立してるような感じ
before_filter :admin_login_required作ってadminページに読み込ませて
session[:admin]で判定すればいいんじゃないか?
もちろんadmin側からログインした時は、
admin = Admin.find (略
session[:admin] = admin if admin
って値を指定すれば誰がログイン状態かどうか分かると思うが。
authenticated_system.rbは
セッションやCookieからログイン判定してるだけだから一つで十分だよ
説明下手ですまん。
70 :
nobodyさん:2008/05/02(金) 15:41:46 ID:vWhcaIYX
twitterも結局RoRのイメージアップに役立ったのか、イメージダウンさせたのか判らんな。
まぁ他に乗り換えたところで、きっと一緒だろうけど…
知名度を上げる役には立ったと思う。
一週間いじってみたがこんな致命的バグの潜んだFWは使う気になれん
mysqlのストアドを使いたいのに、ググってみても
全く参考になるサイトがないのは、みんな使ってないということかな?
どうしても必要なのに...
参考になるサイトを知ってる方、教えて頂けませんかm(..)m
>>74 どんなだよ!言ってみれ。
適当なこというな。PHP野郎が
78 :
75:2008/05/03(土) 23:47:22 ID:???
>>77 ありがとうございます。
説明が下手ですみません。
ストアドファンクションの場合は結果を
@obj=Model.find_by_sql("select (ストアドファンクション名)")
等で受け取ることができるのですが、
ストアドプロシージャが結果をテーブルで返す時の結果の受け取り方が分かりません。
MySQL Query Browserで「call sp_test()」で実行してみて結果が出力されるのは
確認しています。
この場合、同じように
@obj=Model.find_by_sql("call sp_test()")
かなと思ったのですが、エラーがでました。
ストアドで吐き出される結果のrailsでの受け取り方を知りたいのです。
宜しくお願い致します。m(..)m
modelでやらずにadapterのAPIで叩けば?
rorってすっかり勢いを失ってしまったな。
こんなスレタイが唯一のrorスレだなんて
>>78 pp ActiveRecord::Base.connection.select_all("...")
こういうこと?
>>80 2chじゃなくてblogやリアルコミュでやってるひとはしっかりいるよね。
>>80 相当情報も貯まったし
ぶっちゃけ人に聞くより、本読んだり、ググったり、API読めば
出来ない事は無いからほとんどの人は自己解決してるんじゃなかろうか。
3年近くRails使って仕事してるけど、今度Perlで動いてるシステムを
Rails2化する事になって、DB定義どうするかが一番の悩みだw
いいなぁ
漏れんとこはPHPばっかだ
PHPなら職の募集も多いしいいんジャマイカ?
Railsエンジニアだなんてどこも募集してねぇ・・・orz
結局Railsは趣味程度なんだろうな(´・ω・`)
なんだかんだいってまだJavaが一番効率よく儲かるかもしれんね
link_to 'Delete', :action=>'destroy', :id=>@item
とかすると、HTML で JS が吐かれてその中に
s.setAttribute(¥'value¥', ¥'572726412773a720dcb04dc130a863f944b4082b¥');
のような、セッションID? のようなのが埋め込まれてますが、この値を自分で取り出すにはどうしたらいいですか。
session_id とか transaction_id みたいなAPIを探してみたんですが、ないみたいです。
>>87 {"action"=>"index", "controller"=>"items"}
という内容でした。
protect_from_forgeryのやつじゃないの?
>>88 中に
:session_key => '_session_id'のような事かいてないか?
:session_id => 'safdaeuaihfoa;n'
みたいな・・・
params[:session]
でダメならセッションが効いてないのかもしれん・・・
91 :
nobodyさん:2008/05/07(水) 00:30:28 ID:Fjgg9vWs
86ではないけど、俺も同じようなとこで悩んでる。
とある理由で、authenticity_tokenの値とセッションの値(CookieStoreのあの長い文字列)を
ビューで取得したいんだが、なにかAPIみたいなものはないのかなぁ。
リクエストから取得すればいいじゃんって言われるかもしれないんだけど、それじゃ
だめなんすよね。。
92 :
91:2008/05/07(水) 00:44:52 ID:Fjgg9vWs
authenticity_tokenはわかった。
<%= form_authenticity_token %>
>>91 authenticity_tokenのほうは、
名前は request_forgery_protection_token シンボルなので必要ならto_s
値は form_authenticity_token
>>91-92 ナイス解決
こういう情報共有みたいなのあるのは良いよな!
セッションを保持しているクッキーの名前はconfig/environment.rb
に書いてあるはず。
config.action_controller.session = {
:session_key => '_test_session',
:
:
<%=debug(cookies['_test_session']) %>
中を見る方法は action_controller/session/cookie_store.rbのunmarshalの定義を参照。
96 :
91:2008/05/07(水) 02:13:07 ID:Fjgg9vWs
みなさんいろいろ情報どうもです。
結局セッションの値っつーか、CookieStoreの長い文字列は
JavaScriptでhiddenに埋め込むようにしたんだが、ここでへこむ事態発生。
CookieStoreの値をhiddenで送っても、Railsは認識してくれないくさい。
これからソース追ってみるけど、たぶんCookieからしか見てないと思われる。
CookieStore使う方は注意してください。
間違いであれば指摘してくれ。
クッキーなんだから、フォームの一部として送るまでもなく、
ブラウザがHTTPヘッダに入れてくれ……ないの?
98 :
91:2008/05/07(水) 03:11:52 ID:Fjgg9vWs
>>97 あれなんすよ、FLASHからPOSTしたいんすよ。で、セッションも維持したい。
どうもIE以外のブラウザからFLASHでPOSTするとCookieをうまく送信してくれなくて。
t.references :parent
>>100 t.referencesではカラム名は指定するけど参照先は指定できないってことですか?
矢次に質問をするでない。それはmodelで設定せよ。
連続して質問したらだめなの?心狭いなあ。でも助けてくれてありがとう。
最近思ったんだがFastCGIって結構やればできる子かもしれん・・・
>>104 FastCGIは、Rails以外ならmod_rubyよりずっと出来る子だけど、Railsでの評判は芳しくない。なぜ?
それはそうと、Employeeってモデルで、社員番号をカラムとして持つ場合、これはEmployee#idからauto_incrementを外して使ったほうがいい?
それともEmployee#idはそのままに、別個にemployee_numberとかして持った方がいいのかな。
このへんよくわからんのでアドバイスちょーだい!
>105
別個に持ってindexはる
>>106 レスさんくす。indexはるってのは、:unique=>trueとかつけると自動的に張られるもん?
聞いてばっかですまん。
add_index。api documentみれ
will_paginateが非効率なSQL発行してしまうらしいのですが、
現在修正されているのでしょうか?
修正される見込みはあるのでしょうか?
paginating_findを使っておいた方が無難でしょうか?
もまいで調べて報告しる!
112 :
110:2008/05/08(木) 14:05:01 ID:???
はい >> 111
簡単そうだったので、ちょっと試してみました。
Parameters: {"action"=>"index", "per_page"=>"10", "controller"=>"products", "page"=>"2"}
Product Load (0.001225) SELECT * FROM `products` WHERE (name LIKE '%%' OR description LIKE '%%') LIMIT 10, 10
Product Columns (0.001095) SHOW FIELDS FROM `products`
SQL (0.006903) SELECT count(*) AS count_all FROM `products` WHERE (name LIKE '%%' OR description LIKE '%%')
無駄なことはやっていないようにみえます。
両方のクエリを見比べないと意味ないじゃん
あとクエリに違いが出るのってjoinした時じゃなかったかな
少なくともシンプルなクエリじゃどっちでも変わらんよ多分
114 :
110:2008/05/08(木) 16:56:17 ID:???
なるほど・・・
すみません、勘違いしておりました。
will_paginateだと、確かにrelationの先にpaginateかけると、
全selectしてます。
Emacsのrailsモードって使っている人いる?
たとえば foo_controller.rb の FooControler#show() にカーソルがある場合、
view/foo/show.html.erb をひらくのに便利なコマンドとかある?
C-c f v だと "foo/show<TAB>" を入力しなきゃいけなくて面倒です。
>>115 C-c ↑ のことかな?
C-c C-p でもできるようにキーバインディングを変えてます。
118 :
116:2008/05/09(金) 13:39:24 ID:???
キーバインディング変更はこんな感じで
(define-key rails-minor-mode-map "\C-c\C-p" 'rails-lib:run-primary-switch)
あとは、Rail2.0でファイル拡張子に.html.erbを使うようになったのに対応して
rails.elの中でこんな設定をしておくとよい
(defvar rails-templates-list '("html.erb" "erb" "rhtml" "rxml" "rjs" "haml" "liquid"))
Railsで
select a.id, a.name, o.name
from accounts a, organizations o
where a.organization_id = o.id
order by o.name;
というSQLを発行するにはどうしたらいいですか。
Account.find(:all, :include[:organization])
でOK?
>>119 find_by_sql
変数取り込むならちゃんとエスケープしてからやれよ?
>>120 さんくす
> 変数取り込むならちゃんとエスケープしてからやれよ?
こういう心遣いができるおまえは優秀なエスパー
これからも地球の平和を守ってくれ
sanitize_sql(["select * from hoges where hoge = ?", params[:hoge]])
redmineを
http://www.example.com/redmine/ で動かすことには成功しました。
http://www.example.com/~foo/redmine/ で動かしたい場合には
httpd.confをどのようにすればよいのでしょうか
DocumentRoot /usr/local/apache2/htdocs
RailsBaseURI /~foo/redmine
とすると
Passenger error #2
Passenger thought that the Rails application's "public" directory is "/usr/local/apache2/htdocs/~foo/redmine".
となり、必ずDocumentRoot配下を見るようになってしまいます。
情報足りないですねorz
Linux上でApache2.2.8+mod_rails(passenger-1.0.5)です。
126 :
nobodyさん:2008/05/10(土) 01:55:26 ID:NOkob+Vn
>>125 おぉ!mod_railsの情報か!!
ほとんどhttpd.confに書くんだっけ?
app/controller/foo/
app/views/foo/
って内部にサブディレクトリ切るんじゃダメだろうなぁ・・・
~を使えるのはUserDirそれ自体のみじゃないかな。
/~foo を本来のファイルシステム上の絶対パスで書いたらどうよ?
128 :
124:2008/05/10(土) 02:10:09 ID:???
130 :
nobodyさん:2008/05/12(月) 12:32:39 ID:MkPAtgFM
無料レンタルサーバーでRails使えるところあったら教えてください。
>>130 ないと思います。GoogleAppEngineでサポートされることを祈っておいてください。
質問なんだけど、migrationで、add_columnするときに、:null=>falseを指定できますか。
データが1行もないときはできると思うけど、すでにデータが入っているテーブルに:null=>falseつきでadd_columnしたいんです。
あるいはadd_columnしたあとにfind(:all).each でデータを設定してから、:null=>falseを追加するとか。
>>131 change_column という大変便利なものをみつけてしまいました。
add_column :items, :newcolumn, :string
Items.find(:all).each {|item| item.newcolumn = '...'; item.save! }
change_column, :items, :newcolumn, :string, :null=>false
でいけました。
>>132 > Items.find(:all).each {|item| item.newcolumn = '...'; item.save! }
なんとなく、めちゃくちゃ効率悪そうな気がするのは俺だけ?
データが数十万件とかあったら泣けるなw
:default => false 指定するのじゃダメだろうか?
カラム追加なら最初はデータ無いだろうし、
必要なデータは後でバッチかupdate文で更新するみたいな。
最悪、execute('alter add_column文')で無理やり書くとか。
結果出てるのに茶々入れてすまん
135 :
nobodyさん:2008/05/14(水) 10:42:18 ID:4b0MQpYR
136 :
nobodyさん:2008/05/14(水) 21:53:25 ID:ToATEiN6
過疎ってるなage
そのプレゼンに載ってるのは、エディタTextMateの
RSpecバンドルの機能ですね。
とりあえず標準の範囲なら、spec/spec.optsで
--format specdoc
--backgtrace
と書くとか。
backtraceですた
うちも会社の開発環境、ほとんどみんなMacになった。
やっぱり楽。
それまでは
WindowsでVMwareとかは重くて断念。
WindowsでLinuxにログイン、が長かったけど、
いろいろ調査するのに個人ごとに環境があった方が良いって事になって結局Macに。
セミナーとかでも講演してる人、Macが多かったし。
デザイン組み込みとかの時も、
デザイナから上がってきた画像を目で見て確認するのに、
Macのopenコマンドとか、QuickLookがかなり便利。
我が輩はWindows XP + InstantRails + Eclipse + RadRailsを使っているなり。
RadRails様々なり。
>>142 うちも最初は同じような環境だったんだけど
Linux(UNIX系)でしか動かないソフトの使用が決定になって断念した。
Windows + colinux + vim( + zsh + screen)
puttyでsshで繋いで作業
eclipse使ってたときもあったけど重くて嫌になった
win上で開発するのはお勧めできない
>>141 vmwareは重いけどcolinuxは結構軽いよ
そりゃ金があるならmacに越したことはないけど
俺はWinXP上でRadRails(単体版)
最近はMacOSに興味あるなー
俺はNetBeans 6.1。Rails対応部分はかなり良いできだよ。
いろいろなところで補完が効くのがいい。
AptanaとかNetBeansて使いやすいんだが、重くね?
C2D1.8G mem1Gのマシンじゃギリギリだ・・・orz
mem2G以上はやっぱほしいよな
>>146 俺はNetBeansとか補完IDE無しでRuby書ける奴凄いと思うよ。
理解できない。
会社はThinkPad X60とかなんで、AptanaとかNetBeans重くて断念。
Linuxサーバに繋いでvi, emacsでやってる。
補完にはあまり頼らないなぁ。
軽いとか重いとかは環境によるから一概には言えないけど
Netbeans 6.1は結構軽くなってると思うけどなあ。
あとRuby機能のみ入ったのをダウンロードするのが軽くて良いと思う。
Rubyのみとかできるのか〜
補完機能は要らないけど、Grepやエクスプローラー機能は秀逸だし
使ってみよう。d
>>149 XGAモニタでIDEはオススメできないw
補完=無駄な入力省略とすら・・・betterPerlな人たちか・・・
いや、クラス名やメソッド名が元から無駄に長くないので。
長さだけの問題じゃねーだろw
>>147 メモリ1.5GBを境に劇的に変わると思う
ActiveRecordで任意のSQL文を発行するにはどうしたらいいですか
具体的には alter table ... とか select setcount() とかを実行したいです。
>>154 同意
Model.find_by_sql
ActiveRecord::Base.connection.execute
aaa.find(:all, :include=>:bbbb, :select=>'name')のように別テーブルと結合した場合、
:select が効かないんですけどなんとかなりませんか?
160 :
nobodyさん:2008/05/19(月) 14:17:14 ID:8IiAUL/0
>>159 ’’の中はSQLだから
hoge = Foo.find :all ,
:select => 'foos.id , baas.name',
:include => [:baa]
みたいにどのテーブルのどのカラムって指定しないと無理じゃね?
>>157 さんくす
ActiveRecord::Base.connection.executeを使わせてもらいました。
163 :
159:2008/05/19(月) 16:39:27 ID:???
>>161 テーブル名.カラム名って書いてもやっぱりだめでした。
必要なカラムの値のみ取得したいのですが、全カラムの値が返ってきます。
:includeを使うと SELECT * でSQLが作られるんでしょうかね?
164 :
159:2008/05/19(月) 16:42:39 ID:???
>>161 お礼言ってなかった。
サンクス。
その後、:include ではなく :joinsを使えば :selectオプションが効くのはわかりました。
Rubyをシェルスクリプト的に使っているんですけど、
あるスクリプトを実行し終わったらirbに入るようなこと
できますか?
要するにirbでいろいろ操作したいんですけど、
そこにいたるまで初期化命令が沢山あるんで、
require 〜
require 〜
require 〜
をした状態でirbのシェルに入りたいのです。
166 :
165:2008/05/19(月) 18:40:47 ID:???
自己解決しました
>>164 :include はモデル間でのリレーション
:joins はSQLでのリレーション
:select区指定するような、動的な場合は:join使うとか
モデルにそれ用のメソッド追加するといいかもしれない
create table books (
id integer primary key auto_increment,
title varchar(256) not null,
price integer
);
というテーブルがあったとき、Book#price は nil を返す可能性があります。
そこで
class Book < ActiveRecord::Base
alias _price price
def price
_price || 0
end
end
みたいなかっこわるいことしてるんですけど、もっといい方法があれば教えてください。
テーブル定義で
price integer not null default = 0 ,
migrateだと
default => 0 ,:nil => false
のような指定じゃダメか?
>>165-166 自己解決した内容プリーズ
irb -rhoge -rhage -rhige ?
.irbrc に書いとくのもひとつみたい
>>165 個人的にはどういう用途でrubyスクリプト書くのか気になるな
require 'irb'
IRB.start
でirbのプロンプトが出せるので、そこまでの準備はご自由にという感じだな。
2.1の新機能はよさそうですね。特に named_scope。
正式リリースが楽しみです。
ruby script/console
でirbみたいなのが起動しますが、自分のスクリプトの中でrailsアプリを読み込むにはどうしたらいいでしょうか。
#!/usr/bin/env ruby
require '....'
MyModel.find(:all).each do |model|
puts "#{model.id},#{model.name}"
end
みたいなのが作りたいです。
$ cat script/hoge
#!/usr/bin/env ruby
require File.dirname(__FILE__) + '/../config/boot'
require RAILS_ROOT + '/config/environment'
# 以下で好きなことをする。
みたいな感じ。
f.select で、class="foo" とか onclick="alert()" とかをつけたい場合はどうするんですか。
f.select :foo, :class=>"foo", :onclick=>'alert()' とかしてもだめでした。
>>177 f.select :foo, {}, :class => "foo", :onclick => 'alert()'
かな。
ヘルパメソッドへのオプションとHTMLを作るときのオプションを
それぞれhashで与える必要があり、なおかつ両方とも省略可能なので、
hashが2つあることがわかるように書く必要があるはず。
>>168 呼び出す側で to_i か
def price
read_attribute_before_type_cast(:price).to_i
end
みたいな?
Railsでスプレッドシート作ることってできますか?
もしやっている人のホームページとかわかればお願いします。
ここって質問スレ?
違うけどほかのスレは
ことごとく落ちました。
>>180 できるんじゃね? まあスプレッドシートなら
ほとんどをJavaScriptで作ることになるがw
184 :
nobodyさん:2008/05/23(金) 10:09:55 ID:MzFkkhDr
◆【Web】Ruby on Rails用 統合開発環境(IDE) 比較レポート
Ruby on Rails対応のIDEを使用する場合、NetBeans、Eclipse(プラグインを
追加)など複数の選択肢がありますが、今のところデファクトスタンダードと
呼べるものは存在しません。そこで本稿では、共通の基準に対して複数のIDEを
比較し、各製品の特徴と長所、短所を明らかにします。またRuby on Railsによる
開発を始めるにあたって現時点で最も使いやすいIDEを選定します。
http://codezine.jp/a/article/aid/2482.aspx
185 :
nobodyさん:2008/05/24(土) 23:44:37 ID:ojuOd+8v
Railsの人たちはヒアドキュメントを再発明してしかも正当化してるわけだが。
Web開発をなめるな。
Twitterが重いのはRuby on Railsで造られてるから?
187 :
nobodyさん:2008/05/25(日) 03:39:36 ID:fA12GUeB
>>185はコピペ
>>186 最近phpに切り替えているらしい。
Railsのせいかどうかはわからないけど、twitterの中の人はrailsのせいにしたがってる
食べログがRailsになって、価格コムグループの中のサイトも
Railsが多くなってるみたいね。
最近できたエンジニア向けサイトや映画のサイトもRailsだった。
189 :
nobodyさん:2008/05/25(日) 11:37:31 ID:OXIuJTVX
GrailsアプリならJavaだからWebLogicとかでも動かせるんだがな
>>186 利用者が多いから、とも言える
過疎サイトならrailsで十分
Grailsって、名前だけ見るとPythonかと思ってしまうな。
googleの息かかってるの?
ぐれる
groovyのgだな。
grailが杯(文脈的に聖杯)を思い出させるからな > python
196 :
nobodyさん:2008/05/25(日) 18:11:22 ID:fl6HSoNb
モデルの中で@test = "test"とするのと、self.testというのは何が違うんでしょうか?
197 :
196:2008/05/25(日) 18:12:08 ID:???
すみません。@test = "test"とself.test = "test"です。
挙動が違うようなので質問させていただきました _ _
ActiveRecordの話で、対象モデルにtestという属性がある場合の話?
self.test = "test" で見るのは @test ではないよ。
今更ながらだけどOpenIDいいな。
201 :
196:2008/05/25(日) 22:42:11 ID:???
>>198 ありがとうございます。もう一回勉強しなおしてきます _ _
RESTで作りたくても確認画面入れないといけないのがなぁ…。
Railsってググれば大抵の事は出てくるし、
ブログでノウハウ出してる所も多いから
ここで聞くってなかなか無い・・・
質問スレになるのはアレだが、イマイチ盛り上がりに欠けるよなぁ・・・
なんというか、寂しい
204 :
nobodyさん:2008/05/26(月) 06:20:41 ID:dq0EoCgj
restful_authenticationのAPI Documentて何処にありますか?
探し方が悪いのか一番見つかりそうで見つからないです。。
restful_authenticationくらいならソース読んだ方が早いぞ
>>203 Ruby自体、盛り上がりに欠ける。
他のRubyスレも閑古鳥が鳴いている。どげんかせんといかん
別に無理に盛り上がらなくてもいいんじゃね
こんなもんだと思うけど
まあブログに書くほどでもなかったりとか書きにくかったりする
泥臭いtipsとかバッドノウハウとか
実際のところXXXの問題はどうやってるのかとか
そういうのがもっとあればなーとか
2chなんだから良い意味でもっと書き捨てて書き殴れよ的な
じゃあ燃料投下
最近Rails本の出版ブームだけどこの動きは何かね?裾野が広がってるとみていいんだろうか
それから2への完全移行を検討してるんだけどみんなの意向具合はどう?俺は既存プラグインの動作確認、ページネーション問題が解決しそうにないので後半年は待つしかないと思ってる
自分のスキル不足も原因だけどね
Rails本増えた事で、
とっつきやすくなって始めてくれる人がいれば嬉しいな。
Rails2移行は結構難航するらしいけど、
とりあえず、まずは、warning出ないようにしていく事からはじめて行けば
楽らしいぜ。
Rails2化もそうだけど、Ruby1.8.7正式リリースも今後あるだろうし、
スケジュール取るならそれからでもいいと思うぜ。
> 最近Rails本の出版ブームだけどこの動きは何かね?
売れると思ったから出した。公開はしていない。
>>199 何でも出来るみたいだけど、これって、セキュリティー的に問題ないの?
212 :
nobodyさん:2008/05/26(月) 20:30:51 ID:zf9CrWER
Rails初心者です。
質問させてください。
ActiveRecordを使って、複数のレコードをCreateして、複数レコードを同時にコミット
(save)したいのですが、どうしたらイイですか?
hoge1=Hoge.new(val=1)
hoge2=Hoge.new(val=2)
hoge1,hoge2を同時にsave(コミット)したい。
>>212 トランザクションを張るといいと思うよ。
Hoge.transaction do
〜略〜
hoge1=Hoge.new(val=1)
hoge2=Hoge.new(val=2)
end
214 :
nobodyさん:2008/05/26(月) 22:27:05 ID:zf9CrWER
212です。ご解答ありがとうございます。
Hoge.transaction do
for i in 0..3 do
Hoge.create(:val=i)
end
end
こんな使い方もおkですか?
>>214 OK
トランザクションの中でfor文廻しても問題茄子!
でも、for文は変数のスコープルールが変わってて、
for i in 0..3 do
Hoge.create(:val=i)
end
のあとで
p i
のように変数が参照できちゃうから注意な。
普通は繰り返し変数と同名な変数は書かないが
216 :
nobodyさん:2008/05/26(月) 23:01:46 ID:zf9CrWER
『while や for がスコープを作らない』って件ですね。了解です。
もうちょっと聞かせてください。先の例のような場合、create!にして
rescueでエラーハンドリングしとっくのが定番ですか?
>>216 Hoge.transaction do
begin
create!
rescue
エラー処理
end
end
トランザクション内でエラーが発生した時、
ロールバックしたいなら例外を投げないとダメだから
必要だぜ。
218 :
nobodyさん:2008/05/26(月) 23:31:08 ID:zf9CrWER
ふむふむ。了解です。
どうもでした。
>>217 スマン。訂正、補足があるよ
create!の時は失敗したら自然に
raise(RecordNotSaved)
が投げられるから
rescue しなくてもロールバックされるよ
create の時には
自分で発生させないとロールバックされないんだ。
rescue では投げられるエラー受け取って
(例外があればロールバックはするから)
エラーメッセージ表示したり、redirect_to で前に戻ったりするような
事書くといいよ。
酔って質問に答えるもんじゃねえな・・・正直すまなかった・・・
関数名に!ってダサいと思う。
!の意味って実質無いも同然だし。
釣られておくけど、 ! がつくかつかないかは
そのメソッドが破壊的かそうじゃないかの違い
破壊的とはオブジェクトそのものを変化させること
rubyでは同名のメソッドがあって片方が
破壊的な場合は ! をつける慣習がある
意味が無くは無い、少なくともrubyにおいては
でもrailsでは別の意味で使われているものもある
saveみたいに例外を投げるか投げないかの違いとか
正直なんでこのメソッドに ! がついているのか
分からないものもrailsにはいくつかある
>>222 だから、ダサいっていってるの。
慣習じゃなくて、エラーが出るようにすればよかったんだよ。
!をつけていないと、オブジェクトを変更できないとか。
結局、独創的(笑)な命名規則以外のなにものでもない。
横レスですまんけど
!ってやっぱりScheme由来なのかな
Eiffelにもなさそうだったし
アマです
PHPは致命的なエラーじゃない限りは処理を続行してくれるけど、Railsは些細なエラーでも処理を止めるので困ってる
例えばnilオブジェクトに何かしようとした時とか
Railsに限らないのかもしれないけど、徹底的に例外処理を施すべきなのでしょうか?
class NilClass; def method_missing(name, *args); end; end;
nil.asdf.asdf.zxcv.zxv.aasdf
エラーになってほしい場面でもエラーにならなくなるからおすすめしない。
>>225 俺もphp→ruby組だが、PHPがゆる過ぎるだけなので
もうちょっと型(クラス)を意識した方がいいと思う
nilオブジェクトについてはnilが帰る可能性を常に考えるようにして
戻りでnilが帰る可能性がある場合はto_a/to_i/to_sとかで
正常な戻りの型に合わせてやるように意識すると
チェインする時もエラーを出さずうまくいく
return_nil_or_array(foo).each { 〜 }
return_nil_or_str(foo).uppercase
return_nil_or_int(foo) + 123
↓
return_nil_or_array(foo).to_a.each { 〜 }
return_nil_or_str(foo).to_s.uppercase
return_nil_or_int(foo).to_i + 123
ぬるぽ考慮は、プログラムの常識じゃね?
unless aaa.xx
end
とか簡単なのでいいから一応チェック汁!
229 :
nobodyさん:2008/05/27(火) 22:14:26 ID:DQKAsM9l
497 名前:デフォルトの名無しさん[sage] 投稿日:2008/05/27(火) 21:48:37
Ruby人口って実際のところ増えてるの?
過去数年分のMLのトラフィックとか求人にRubyという文字列が含まれてる件数とかの
定点観測データで推移が見られるものってどっかにないのかな。
498 名前:デフォルトの名無しさん[sage] 投稿日:2008/05/27(火) 22:06:07
http://groups.google.co.jp/group/ruby-talk-google/about これ見ると流量は2008年入って減ってるね。
230 :
nobodyさん:2008/05/28(水) 00:01:09 ID:pgzZgd6l
最初に使った言語がJavaだったせいかGrailsのDynamic Finderが最も親しみやすい
231 :
225:2008/05/28(水) 14:21:52 ID:???
皆さんありがとう
nil考慮してるんだけど、予想できないユーザーの行動に対する配慮漏れが自分には完全に防げてない
227さんの方法とか、後はtestをもっと重視してエラーを探すべきなのかと思った
質問なのですが。通常、ファイルをサーバーにアップロードする
場合はフォームにファイルINPUTタグを入れてユーザーがファイルを選択して
POSTするというものですが。Railsのプログラムでファイルの名前だけをもらって
そのクライアント側ファイルをサーバーにアップロードするというのは絶対不可能なのでしょうか?
普通の考えでは無理そうなのですが、裏技とかもないものでしょうか・・・。
>>232 クライアントからPOSTしたくないのならば、
サーバがクライアントのファイルをGETするのかい?
Webページ見たらPCの中吸いだされるのと同じじゃなかろうか・・・
どういう経緯でそんな状態が必要なのかkwsk!
>>232 不可能じゃないよ。
ActiveXや、Firefoxなどの場合NPAPIだかXPCOMを使えば、
クライアントのHDDの中アクセスし放題
ファイル名の名前をもらってアップロードはもとより、
ファイル名の名前をもらわなくても、アップロード可能。
>>235 RoRでブラウザはIE, FFなのに対応OSがWindowsって変だな。
>>233 クライアント側でファイル選択をして(ファイル選択タグを使わないで)
DBにファイル名のみ登録、それから後に、そのファイル名のファイルをサーバーに
上げるというものです
>>234 IEでもFFでも両方できるモジュール、もしくは方法ってないものでしょうか
RoRと連携できるものでないといけませんが。Javaアプリは連携が難しく挫折
>>238 Cか何かで、アプリ作ったほうが早くね?
セキュリティリスク考えると、非常にオススメできない・・・
それか、ファイルサーバ開放して、
そこをネットワークドライブにすればいいジャマイカ
>>239 レスありがとうございます。Javaアプリで検討したときも
Javaアプリで全部作ったほうが早いという結果が出てしまい企画倒れ。
とにかくWebブラウザのみでスマートに処理したかったのですが、
基本的にはクライアント側アプリをどうにかして起動してやらないと
いけないみたいですね・・・。
>>241 レスありがとうございます。基本的にWebアプリでのファイル送信は
ファイル選択タグよりユーザーがファイルを選んで、自動もしくは手動で送信
が通常の流れですね。
フラッシュを駆使して・・・でも、簡単にできるものだろうか・・・
フラッシュ知らないしなぁ。「ローカルからまとめてファイルをD&Dして」
というのは今回やりたいことではあるのですが。ただし選んでもすぐにアップロード
をしない、というのが今回のコンセプトなんですよ。
243 :
nobodyさん:2008/05/29(木) 14:59:45 ID:mGxyHguq
>>242 そもそもHTTPの基本がぜんぜん分かってない
RFC読め
なににしろ環境依存とセキュリティで難しいんじゃない?
ましてやRAILSで業者挟まずタダでっちゃあなおさら。
引き続きRAILSに限らずとも情報が必要なら、CGIかWEB技術あたりのスレのがいいかもね
ユーザの知らない時に、
ユーザの指定したデータを取ってきてほしいなら
スパイウェア作ってクライアントの中に常駐させて、
それにPOSTしてもらえばいい。
でもRailsとは全く関係はないし、PCが起動してなかったら無意味w
というか、ノートン・FW先生が怒り出すぞwww
大学か何かの研究テーマか?
>>242,244 仰るとうりです。WEBアプリの手始めとしてRoRの入門書を片手に作ってる
ものですから。PHPは広く使われているため、確かに「ぼくRubyできますよ」と言える
ほうがかっこいいですよね。まあそんなことはどうでもいいのですが。
>>245 クライアントサイドで動くアプリは作れるのというのは文書では
よく読むのですが、実際それを作る段になると、サーバーサイドアプリとの連携が
取れないということで、駄目になってしまってるのが現状です。
IEだけサポートなら.NETか何かでさらっと作れそうなんですが、、
自前でアプリ作るしかないだろう
そいつがhttp使ってもそれは全く問題ない
現実的に●nnyがそうだし
>PHPは広く使われているため、確かに「ぼくRubyできますよ」と言える
>ほうがかっこいいですよね。
誰も知らなくて
なにそれ?
っていう空気になって
恥ずかしかった体験があるw
>>246 >
>>245 クライアントサイドで動くアプリは作れるのというのは文書では
>よく読むのですが、実際それを作る段になると、サーバーサイドアプリとの連携が
>取れないということで、駄目になってしまってるのが現状です。
>IEだけサポートなら.NETか何かでさらっと作れそうなんですが、、
なんか大きな勘違いをしていると思う。
Webの仕事しかしたことがなくてアプリケーションの作り方を知らないとか。
250 :
nobodyさん:2008/05/29(木) 23:21:09 ID:mGxyHguq
>>247 ●nnyのことよく知らないけど有名なHTTP Server / Clientとやり取りするもんなの?
じゃなかったら「HTTPもどき」どまり
ファイル名だけDBに格納して、
同じファイルが他の階層にあったらそれも抜くつもりなんだろうか。
ファイルパス入れてもクライアントのOS依存だし、
ファイルの置き場所変えたら無意味。
質問するときは正直に本当の目的を言った方がいい
初心者の場合なにも分かってなくてそもそもの
アプローチが的外れの可能性もあるから
まぁなんにせよ、ネタとしてはおもしろかったぜ
>>247 そうですね、作るしかなさそうですね
>>249 いやいやWEBアプリはほぼ初めてなので苦労してます
>>252 話は外れますが、特許申請しようとするものの内容を人に話すと
その時点で特許にならないという・・・。今回はそんなものじゃないですが
一応今回は人がやっていないことをするというコンセプトですから、ご了承を
っていうか難しいですねこういうやったことのないことを初めてするということは
人がやらないのは理由がある。
つまり君がつくろうとしているものは
セキュリティ上の問題がある危険なソフトだからだ。
どうみても卒業研究テーマです。ほn(ry
まぁ、セキュリティ云々は後で考えればいいとして、
実現できるかできないかを2chで聞くようじゃ、所詮何もできないと思う。
gettext-1.91.0 rails-2.0.2 (actionmailer-2.0.2)の環境で
require 'gettext'
GetText.locale = 'ja'
で、メール送信(ActionMailer)時に送信元に日本語を入れて
@from = "送信者 <
[email protected]>"
送信していますが、From:がutf8でbase64されてしまいます。
GetTextでは、Subject:と同じようにFrom:も iso-2022-jp でbase64するのかと思った
のですが、こういうものでしょうか?
ちなみに、
/usr/lib/ruby/gems/1.8/gems/gettext-1.91.0/lib/gettext/rails.rb
でチェックしましたが、mail.subjectしか処理していないようです
@@default_charset='iso-2022-jp'
@from = Kconv.tojis("送信者 <
[email protected]>")
とすると、From: も(Subjectも本文も) iso-2022-jp になることがわかりました。
この対応で問題ないでしょうか? (こういうものでしょうか?)
そういうものです
mixiのperlでwikiトピックの阿呆思い出した
ちゃんと助言があっても「それはいいとして」で
自分からは詳しいことは言えませんが情報はくださいって何様ですかw
神様
mixi(笑)perl(笑)wiki(笑)
DBにファイル名適当に突っ込んでおくと、
そのファイルをとってきてくれるのだろうか。
それは画期的だ。
formに関するヘルパーメソッドがたくさんありますが現状どれを使うべきなんでしょうか。
start_form_tag
form_tag
form_for
このうちstart_form_tagは推奨されないメソッドだとネットでよく見ます。
form_tagはstart_form_tagと同じものだったと思うのですが、これも非推奨になったのですか?
それとも紛らわしいからstart_form_tagだけ非推奨になったのですか?
RoR自体が非推奨
>>263 start_form_tag と form_tag は同じものじゃない。
form_tag は引数にブロックを取る。
<% form_tag do %>
...
<% end %>
form_tag は非推奨じゃない。
でも、普通の CRUD なら form_for の方が手間が省けることが多い。
266 :
263:2008/06/01(日) 11:13:18 ID:???
>>265 ありがとうございます。
form_tagは<%= form_tag %>...<%= end_form_tag %>で書けるのもありますよね。
ブロックで書くform_tagだけ生き残った感じなのかな
以下のようなテーブルがあって、
<tbl>
貸し主(kasi), 借り主(kari), 金額(money)
太郎と次郎にそれぞれ10000円以上貸しているような人を検索するSQL文
--
SELECT tbl.kasi, tbl1.money, tbl2.money
FROM (
SELECT kasi , money
FROM tbl
WHERE kari LIKE '太郎'
AND money >= 10000
) AS tbl1,
(
SELECT kasi , money
FROM tbl
WHERE kari LIKE '次郎'
AND money >= 10000
) AS tbl2,
WHERE tbl1.kasi = tbl2.kasi
--
を、コントローラの findメソッドで実現できますか?
find_by_sqlとかexecuteとか
コントローラじゃなくてモデルでは?
普通はモデルだが、
Controllerでもできるし、
Viewでもやろうと思えば、できる・・・
>>267 サブクエリ使ってるの無駄っぽいし
そもそもテーブル設計が微妙な気がする
少しだけ更新
version 2.1
* Time zones
* Dirty tracking
* Gem Dependencies
* Named scope
* UTC-based migrations
* Better caching
RoRのMVCって意味ないよなぁ
そんなことはない。
意味が無いのはPHPな。
あれは元からHTMLレスポンス用に特化されてんのに、
わざわざ流行(?)に影響されてMVCやってるというw
変なたとえだが、ダイヤの原石を捨てて、ガラスを手にして喜んでるようなもの。
また、PHPに嫉妬かw
磨かないと光らない原石より
安直に手に入るキラキラしたものの方が
いまどきの女には受けが良いのは確か
久々にRoR使ってみた。掲示板つくるのに30分かかっちまった。
279 :
nobodyさん:2008/06/03(火) 21:01:06 ID:zVx6k5xJ
分業するとMVCってイイんじゃないの。
なんか手段と目的が逆になっているなw
PHPだからMVC使うべきじゃないとか、なんだそりゃw
HTMLレスポンスが得意なだけで、
それだけしかできないわけじゃないんだしさ。
分業って、M, V, Cで別々にやるわけじゃないからなぁ。
コントローラ単位で MVC ひとかたまりをそれぞれ分業なら分かるかな。
>>281 さすがだな、それ確実に誤解釈。
M, V, Cで分けた方が圧倒的にコスト減。
開発、改修共にね。
というか縦に割って技術者・Project共にいい事なんか何一つ無い。
業務知識(笑)な所だとそうしてる所多いけど無駄ばっかりだね。
そもそも、php系のMVC厨は完全に分離しなけりゃならないという
「宗教」で語るからスルーした方がいいですよ
php厨から見てさえ、適材適所を悪だと罵る奴ら
って11秒前のお前よう・・・w
21秒前だろうがボケ。
>>284 いや俺PHP触った事無いけど・・・っていうか(ry
php厨には分からないと思うけど、基本Viewは別言語だしね。
まぁ別言語でMVCやってから書き込みなよw
RailsのViewってデザイナになかなか渡しづらい。便利helper書いちゃうし。
Controller書いてて一部実装をModelに移すこともある。
もちろんテーブル設計とかは分離して考えることができるけど
RailsでMVC完全分業って効率良いのかね。
チームも小さい所が多いだろうし。
MVCにそこまで拘る気は無いが、DRYには拘りたい。
コントローラーはできるだけすっきりしたいぜ。
ファイルアップロード見ましたが、フラッシュでできるようですね
Model:tables(*SQL)
View:html(templates)
Controler:スクリプト
>>291 Change Historyがツボにハマッたwww
>>286 別にさぁ、PHPだって何もかわらんだろ。
単に<?php ?>の外に書いてある文字が
出力されるってだけの普通のスクリプト言語
全体を<?php ?>でくくれば、普通の言語と同じ。
>>286 > php厨には分からないと思うけど、基本Viewは別言語だしね。
それがいいことだとは、誰も思っていないってw
PHPみたいに便利じゃないからMVCなんて引っ張り出してるだけで、PHPのように便利なら分けるのは無意味、っつうことにやっと総意が収束したみたいだな。
ここまで不勉強な奴等がプログラミングしてると思うと怖いな・・・
>>289の先読み力に感服しました。
298 :
nobodyさん:2008/06/05(木) 00:35:39 ID:LPKG7OzS
LINUXサーバーが触れるなら、RAILSよりも少ない工数かつ簡潔なソースで構築できるFWは無いと思う。
まともな人が作ればスケールするし。
このスレって趣味グラマしかいないの?
業務で作ってますよ
レン鯖にわたすとしたら,どのぐらい重いのかな
303 :
nobodyさん:2008/06/05(木) 04:50:28 ID:fqWQqZWx
普通の奴等の上をいくとrailsに行き着く時代だぜ?
ム板に立て直した方がいいんじゃないか?この板レベル酷いだろ・・・
匿名掲示板で議論可能なレベルなんて
どこに行こうが一緒。
どこ行っても過疎スレになる事は変わらんよ。
>>304 一度ム板にたっていたが、
過疎すぎて落ちたwww
Railsって人気ないんですかね?結構使えると思うんだけどなぁ。
人気がなかったらここまで話題にならないお
話題先行、だーれも使わんw
勉強はある程度したけど、MongrelやTwitterの件で、
仕事で採用する気は最近萎んでいる
手堅く動かした実績の話をもうちょっと聞いてみたいところだ
314 :
nobodyさん:2008/06/05(木) 22:02:34 ID:DHVnPkYW
mogrelの人がブチ切れた理由が未だによくわからん。
彼の周りの人間がクソッタレだったってこと?
急激に知名度が上がったおかげでクズが集まりすぎた。
Rubyは後発ゆえに言語仕様は優れていた。
だけど、それは必要十分な言語仕様であるPHPから
乗り換えるまでのものではなかった。
(言語は目的ではありません。手段です。)
Railsは、そのデモと開発速度の速さで話題になった。
Railsというフレームワークがこんなに早くできたのは
Rubyという言語のおかげだったかもしれない。
でもいったんフレームワークができてしまえば、Rails以外の
どのフレームワーク、他の言語を使った開発でも大差はなかった。
Railsは話題になったが、皆が必要十分な言語であるPHPからRubyに乗り換えるまで時間がかかった。
その時間で、PHP製のフレームワークが成熟し、Railsに魅力がなくなってしまった。
317 :
nobodyさん:2008/06/05(木) 22:45:05 ID:nVFLbPAL
レンタルサーバー使用の案件とかはPHPで十分だし、その方が便利だよな。
でもrailsになれちゃうと、もうPHP使う気にはなれないなー。
PHPが決定的に優れているのは、仕事の引継ぎが、群を抜いて楽チンだという現実。
もうね、理屈じゃないのよ。他の言語のテンプレートは覚えないんだよ、でざいなーは。PHPならなんとか書きやがるからなw
仕事の引継ぎが、群を抜いて楽チン というのも立派な理屈。
>>307 そこからこっちに来たわけだが・・・php厨沸きすぎでしょ
つかphp厨しかいない板でしょ、ここは。
>>314 あれは釣りだったって。俺も釣られた。
>>316 mod_railsも安定してるみたいだし、Railsはまさにこれからだと思うよ。
2.1.0も出たばっかりだし。
今はまだ名前を売ってる途中。これからどんどん使われていくよ。
>>318 俺がPHPが決定的に優れてると思う点は、やっぱドキュメントかな・・・。
>>321 mongrelは今後も安心して使えるの?
仕事で使う場合、釣りの一言では済ませられないよ
>>298 django (Python) があるがな
324 :
nobodyさん:2008/06/06(金) 13:46:31 ID:tvwwSrDN
viewって字下げキレイは無理なのか?
htmlとしての字下げ rubyとしての字下げ
なんかうまくできない。
字下げ?RoRもhtmlも関係ない。CSSの範疇だろうが。
RubyからPythonに移行してるんなら全然釣りじゃないじゃん
>>322 Mongrel はメンテナが数人いて、今後数バージョンアップ分のロードマップがあって、
バグ修正も随時している。
332 :
321:2008/06/06(金) 22:10:43 ID:???
>>331 ちげーよ!www
自分もmongrelの中の人がファビョったからmongrelしゅうりょー!!とか書き込んだら、
それ釣りって言われてソース見せられた。
それは
>>327で示されたのと同じ。その時大恥こいたと思った。
でも、今はもうmongrelなんかほっといて、mod_railsの方に夢中だけどね。
今のところ不具合なし。
314は別にmongrel終了とか言ってないぞ
デザイナとのやり取りってどうしてます?
うちはデザイナから上がってきたHTMLをプログラマがはめてます。
partialしてたりヘルパ使ってたりしてるんで、
デザイナにViewを任せるのは難しくて。
なのでデザインの反映が結構しんどい作業になってます。
デザイナのファイルに関しては基本的にはあきらめモードなのだが、
・可能ならループするとこは<li>とか<tr>とかで書いておいて、と頼む。
・スタイルシートや画像の位置関係をRailsの標準にあわせてもらう。
・ファイル自体はsvnでやりとりしてる。
更新があったらリビジョン間のdiffを手元のテンプレートに(場合によっては手で)当てる。
>>336がPOHPなrubyのF/W作るまで読んだ
デザイナって馬鹿だなっていう愚痴にしか聞こえませんが
ruby 1.8.6 rails 2.1.0で初めてrails触ってるんですが、
http://www008.upp.so-net.ne.jp/letitbe/rails2/rails003.htm を参考にすすめていったんですが、ページ中ほどの
ruby script/generate scaffold article title:string description:text image_url:string price:decimal vender:string category:string
の時点で
The name 'ArticlesHelper' is either already used in your application or reserved by Ruby on Rails.
Please choose an alternative and run this generator again.
と言われました。このページはrails2.0を対象としているようですが、ここでエラーになるのはrailsのバージョン違いが原因でしょうか?
step2で既に実行済み(ファイルが存在する)じゃないか?
342 :
nobodyさん:2008/06/07(土) 16:06:11 ID:ZVH1QUV4
DB使わないプロジェクトでも、DB作成しないとエラーになるのって、
最近のバージョンからなんでしょうか?
>>316 Rails並に良いFWってPHPにある?あったら教えてほしいんだが。
そもそもRailsが良いかどうかってのもあるけどな
railsがいいってかrubyで書けるのがいいんだよ
抜群に書きやすいよなんだかんだ言っても
>>343 というか実績ではCakePHPとかSymfonyに負けてるぞ多分。
あとRails並にいいかは知らんけどRailsをそのままPHPで書いてみましたっていうAkelosならあるよ
>>342 config/environment.rb
config.frameworks -= %w(active_record)
いっこなら%wで囲むまでもないな。
>>346 RailsでWebフレームワークのあり方を学んだ上で
実務ではCakeやSymfonyを使っているというところは結構多そうな気がする
やはりレンタルサーバで簡単に動くというのは強みだな
350 :
343:2008/06/07(土) 20:38:32 ID:???
>>346 AkelosとCakePHPは試してみたけどRailsには及ばず。
Railsと同レベルのPHP FWがあるなら便利なんだけどなぁ。
フレームワークは目的じゃなくて手段だよ。
今度railsのプロジェクトに参加することになりました。
railsで簡単なアプリを作ったことはあります。
プロジェクトの一員として手助けできるようになりたいです。コードを読んでおいてほしいと言われたのですが、model, view, controllerのどれを読んでいくのが一番いいのでしょうか?
業務用のrailsアプリのコードを読むのは初めてで途方に暮れています。
モデルからでもroutes.rbからでもイメージの湧きやすい方法でどうぞ。
業務用も何も関係ないだろう。アホか
普通の人が書くrailsは、controller中心なんだから、controllerから
読んでいけば、いいんじゃね?
仕事でRails使える人を養成するのがなかなか大変。
書籍が増えてきて、少し楽にはなっているのだけど。
来月またPHPで独自フレームワークだった人が来ます。
さてどれくらいで実戦投入できるか。
人を育てる仕事って大変そうだなぁ。
がんばってね。
素直にPHPフレームワーク使えばいいんじゃね?w
Ruby使っている人はPHP使っている人に比べて
大幅に少ないでしょ。
push_with_attributes
がdeprecatedというか削除されているようなんだが
かわりになにをどう使えばいいんだ?
>>356 雇わないか?
ベンチャー→某上場企業でずっと自社Railsサイトエンジニアやってたけど
上場企業は俺には合わん(´・ω・`)
361 :
356:2008/06/10(火) 21:53:45 ID:???
>>360 惜しいぃ。
少し前ならあちこちに募集をかけていたのだが、ただいまストップ中。
オフィスが手狭になってきてしもた。
申し出ありがとさん。
大阪でいいなら
363 :
362:2008/06/11(水) 13:18:32 ID:???
大阪のベンチャー企業でよければ、って事です。
言葉足らずでスマソ
idカラムを持たないモデルって定義できますか?
ActiveRecord::Baseのサブクラスのままで。
>>364 背景を説明すると、has_and_belongs_to_many を has_many :through に
置き換えているんですけど、今まで id カラムがなかったテーブルに主キーを
追加しなきゃいけないのはなんかいやなんで、主キーなしのままモデルとして
扱えないかなと思った次第です。
>>363 東京なんだ・・・orz
本気で我慢ならなくなったら検討するぜ。
でも、RoRで色々やりたい場合、
ベンチャーの方が意思決定も柔軟だし、古くて硬い会社よりやりやすいよなぁ・・・
>>365 何かしらのユニークカラムがあるなら set_primary_key で指定しちゃえばいいんじゃね?
東京の貧乏企業ですがいかがでしょう?
368 :
363:2008/06/11(水) 21:19:56 ID:???
>>366 きっと東京だろうと思ったよ。漏れも東京で業界にいたから、大体の業界の構造は分かってるつもりだ。
デカい会社にいると、どうしても処理能力が高い人材にいろんな業務が集中しちゃうんだよな。
その割には色々な壁があって、つまらないことも全然改善されない。割に合わんとおもた。
大阪で良かったらまた声をかけてくれ。
スレ汚しスマソ
>>367 >>368 kwsk!!と言いたい所だが、ここじゃ書けんかorz
気にかけてくれてありがとな。
地道に友人のツテとかネットで探す事にするぜ。
でも、ここの住人とかでサービス案考えたり、勉強会とかやってみたいぜ。
スレ汚しスマン
>>364,365
自分も has_many :throughにしたときに、とりあえず:idを追加してしまいました。
primary_keyがないとレコードを削除できないんですよね。
ちなみに
counter_cacheが habtmで使えないので、has_many :through に変えました。
で、model1とmodel2の関連に、
has_many :throughで model1_idとmodel2_idでユニークな複合キーになっているなら、
composite_primary_keysプラグインが使えるかもしれません。
過疎保守
373 :
nobodyさん:2008/06/14(土) 23:43:59 ID:v1AdI/xu
Netbeans使ってる人いる?
使ってる
最近radrailsから乗り換えた
かなり満足してるけど内部にブラウザー持ってないんだよね…
来月入社する人、WindowsでIDE使うと言ってるのだが、
いまうちで作ってるやつはLinuxかMac上でしか動かないのだ。
colinuxあたり入れてもらうしかないかなぁ。
ちなみに他の開発陣はMacでTextMate(or vi, emacs)だったりする。
376 :
nobodyさん:2008/06/15(日) 00:12:54 ID:X0s3mQ6d
>>375 後から来るやつが会社に合わせるのは当然だろ
LinuxかMacたたきつけとけ。
雇ってもらってるのに環境で一人だけワガママは許されない
でも、いろんな環境の人が居ると勉強になるよね。
ターゲット環境とソースリポジトリ、Issue管理なんかの
共通部分だけあってりゃ良いんじゃない?多様性はなんちゃら。
うちも最初だけは InstantRails で IDE(Aptana) 使ってたんだけどなぁ
374だけどWin開発はやっぱり辛いよ
一人でのんびり作るならいいけど本格的に人数組んでやるのにWinは無いと思う
MacBookPro欲しいな
大規模で「開発PCは全部Macでやりましょう、IDE使わずにEditortで」なんて言ったら確実に首だな
リソース確保経験無いの明らかだし、「本格的に人数組んで」なんて良く恥ずかしげも無く書けるよ・・・
>>381 Rails界隈の「本格的に人数組んで」って10人くらいを指すと思うけど
JAVA辺りの大規模開発とは状況が違うよ
>>382 人数を突っ込まれるとは思わんかった・・・ここまで酷いのか・・・
380はWindows上にLinux環境立てるって意味じゃないの?
楽天はそれでやってるって聞いたけど
さすがに開発機を全部Macって話じゃないと思うけど
385 :
nobodyさん:2008/06/15(日) 16:05:18 ID:X0s3mQ6d
Netbeans経由でGrailsに人が流れて行きそう
そういうのは実際に流れてからいってください。
あたったためしがない
うちはほとんどMacかLinux
一人だけWindowsのVMWareにCent OS入れてがんばってる。
うちはwindows用の監視ソフト入れられるから、windows必須w
windows必須なんで、アウトルックとかパワポとかの使い方をしょっちゅう訊かれて超鬱陶しい。
本番環境がLinuxとかの場合、MacやUbuntuとかの方が親和性いいんだけどな
開発用WindowsPCに色々監視ソフトとかセキュリティ関連のソフト入れまくってる
職場の現状を見てると、何か根本的な選択肢を間違ってる気がするw
Railsの大規模って10人も必要?
要らないような気がするんだけど。
スケールとか足回り固める人員が別途いるなら分かるけど。
うちは上司がかたくなにMacに反対してた。
ただ、他社とのやりとりで、丁度マシンが足りなくなって、
MacBookをサーバにして2ヶ月以上稼働させたら、それ見て上司折れた。
いま6人Mac。
本番機はLinuxで、確認用の環境もLinuxだけど、普段の開発はMacで十分。
WindowsはOfficeとIEのテストで使ってる。
ウチはWin以外の開発を認めてなく、
全PCを社内システム部が管理してるから
MacやLinuxはおろか、認証が無い開発用ツールさえインストール不可能・・・
鯖はLinuxだから皆、鯖にsshでつないで開発してるお。
WinでRails開発って文字コードの問題で辛くないか?
DOSにputsで表示しても化ける品。
みんなsshで入ってgemとか叩いてたりするのかな。
重くね?
シンクライアント構成は管理側からすると憧れるようだけどね
ウチはなんかもうみんなバラバラw
>>393 上場企業なら仕方ないんだと。
Linux&viで開発できてるからまぁマシだけど、
ベンチャー上がりの身としてはやりずらいよ
逆にWinでローカルRails鯖立てるの重くない?
結局
>>381は何だったんだ
煽るだけ煽っといて
話が広がったからいいけどw
utf8の場合、Winでローカル鯖立てて開発してる人って
趣味の人以外は居ないんじゃないかなぁ。
script/console化け化けだろうし。
ローカルにsshd/telnetd上げておいてpoderosaとかで接続じゃね?
あ、デーモンだけ立ててもシェルがなきゃいかんか。
PHPがWindowsを選ばせるわけですよ。
eclipseによるPHP開発環境はWindows限定と言っても過言ではありません。
私は流行の言語を一通り使えますが、PHPだけはWindowsで書くのが楽だと認めざるを得ません。emacs完敗ですよ。
WindowsでPDT(eclipse)を使うわけです。本当に楽なんです。xyzzy完敗ですよ。
逆に言えば、linuxに糞PHP用のIDEが充実したら、windowsから乗り換える人間が増えるでしょうね。
SSHで開発とかほざいている人たちがいますが、あれ、遅いよ、色んな意味でね。はっきり言ってやるけど、眠たい仕事してんじゃねえよ雑魚。
399 = 381か
Rails 2.1 で、間違った日付が勝手に修正されてしまうんですけど、これをやめさせることはできますか?
たとえば次の例だと 2008-02-31 が勝手に 2008-03-02 になってるんですけど、すごく余計なお世話なんでやめさせたいんです。
$ ruby script/generate scaffold person name:string birth:date
$ rake db:migrate
$ ruby script/console
>> hash = {"name"=>"Foo", "birth(1i)"=>"2008", "birth(2i)"=>"2", "birth(3i)"=>"31"}
>> person = Person.new(hash)
>> p person
#<Person id: nil, name: "Foo", birth: "2008-03-02", created_at: nil,
updated_at: nil>
>>403 どういうことかわからない。
2008/2/31というあり得ない日付が入ったときにどういう動作になればいいんだ?
>>403 Railsにはバリデートというものがあってだな。
>>403 日付じゃなく文字列で受ければいいじゃん。
間違った日付の方がいいってくらいだからどうせ日付型である必要もないんだろ?
だが日付を文字列で持った時のparsedateの面倒くささは異常
Macのターミナルソフトはショボ過ぎる。
通からすると酷い所があるのかい?
コンソール機能それ自体に余計な機能付けられると困りそうなので
控えめな方が
なんかSafariとタブ周りのショートカット互換してるのはヘンな気分ねw
俺の用途では実害ないけど。
vimやemacs酷使してる奴には実害あるのかな?
はい、俺がヘボなだけですね。わかります
win環境限定されたらpoderosa入れるほうの三流です
410 :
nobodyさん:2008/06/17(火) 03:26:59 ID:VxmBWok3
>>408 ターミナルソフトでショボイとか無いと思うが・・・
何を求めてんの?
411 :
nobodyさん:2008/06/17(火) 03:28:51 ID:VxmBWok3
>>409 poderosaはmem使用量がアホみたいに多くて使う価値が無い。
.net要求とかありえない。ゴミ以下。
winならPuTTY ごった煮版最強説
>>411 >ごった煮版
お、寡聞でした。ご紹介ども
これは良さげですな。
標準のは機能が少なすぎる。設定が面倒。エンコーディング設定とか。アメリカ人にはあれでいいかもしれないが。
iTermはスクロールがアホみたいに遅くて、話にならない。
WindowsのPoederosaやputtyとは勝負にならない。
あれ、10.5以降でmacの標準ターミナルのエンコーディング関係で困った経験ねえけどな
いや、macports含む環境がしっかりしてきただけなのかな。
前はエンコーディングじゃなく、むしろロケール絡みで下らないトラブルと戦った記憶はある。
アメリカ人日本語判ってねえなーとか当然のこと呟きながらバグレポート書いたりw
ローカルでしか使わなければそうかもな。
417 :
nobodyさん:2008/06/17(火) 09:18:45 ID:VxmBWok3
>>416 validメソッドというものがあってだな。
i::::::::/'" ̄ ̄ヾi
|:::::::| ,,,,,_ ,,,,,,|
|r-==( 。);( 。)
( ヽ :::__)..:: }
,____/ヽ ー== ; ほうほう それで?
r'"ヽ t、 \___ !
/ 、、i ヽ__,,/
/ ヽノ j , j |ヽ
|⌒`'、__ / / /r |
{  ̄''ー-、,,_,ヘ^ |
ゝ-,,,_____)--、j
/ \__ /
| "'ー‐‐---''
>>416 もともと日付のエラーって扱いにくくて、mpaerrを使ってます。
こちらは 2.1でも動作が変わらないようです。いかがでしょう?
420 :
nobodyさん:2008/06/17(火) 14:08:53 ID:chmoiPw/
sessionにeachメソッドはないのでしょうか?
paramsにはあるのに。。。
rubyなんだからサクっと自前で拡張したらいいじゃない
建前はそうですけど、いざやるとなると面倒なんすよね。。。
>>423 みたいな基地外には、いちいち関わらないのがよい。
ところでvalidates_*系を自動生成してくれるようなプラグインとかはないでしょうか?
各モデルは列情報を持ってるのだからそこらへんも自動でやってくれるともっとありがたいんですけどね。
さらにはモデル間の関係も外部キー名が*_idと決まっているのだからある程度までは自動化できるのでは?と思います。
じゃあ作ってよ
とりあえず自分用にはある程度作ってます。もちろん公開できるようなモノではないです。。。
なにしろRails初心者なもので。というか自分のソースを外部に公開したことなんてないですし。
ココで公開すれば、皆で良くなるように改修してやんよ
一人でやってて楽しい?
仕事だから楽しくなくても作る。
でもわざわざ公開する手間は面倒。
> ココで公開すれば、皆で良くなるように改修してやんよ
乞食うぜーよ。
こんな糞のたまり場なんかより、github とかでこっそり公開した方が良いね。
なんかすさんできたな。
もっとやれ
そりゃ、物欲しそうにしているやつの前でちらつかせるのって楽しいじゃんw
validates_*系を自動生成してくれるようなプラグインを欲しがる男の人って・・・
どうみてもゴミです、ほ(ry
も?
437 :
nobody:2008/06/18(水) 01:26:10 ID:DSVYqGpy
Rubyはくそ。
関数の頭に
def
を付けて書く。
戻り値の型も定義しないのになにがdefineだ!!
ついでにクラスも変数も全部定義だろが!
ブロックの先頭の記号(Java/Cだと { ) が無い!
ブロックの終了だけend。
こんなんだと数年先に
「メンテできるヤツいね〜な。まいった」
となる。
とっととくたばれ!!
438 :
nobodyさん:2008/06/18(水) 01:35:57 ID:DSVYqGpy
名詞にずけずけと「銀の弾丸」と書くまつもと猿。
世界の大迷惑。
ブロックは {} でも書けるし
何か香ばしいのが沸いてるなwwwwwwっうえwwwww
もっとやれwwwwwwwwww
>>437-438 ちょうど週末にRuby会議があるね。
いい機会だから直接会って言ってみたらどうよ。
>>441 こいつらネット弁慶だからんな場所にはこねえよwww
ココでしか言えないんだからそっとしておけwwwwww
>>437 間違いは訂正しておかないとな
> 関数の頭に def を付けて書く。
rubyに関数は無い
defはメソッドの定義を開始するための予約語
> 戻り値の型も定義しないのになにがdefineだ!!
変数に型が無いのに戻り値の型が指定できても意味が無い
javaにはdefineは無いし、Cの#defineは型の定義とは
まったく関係がない(型定義はtypedef)
> ブロックの先頭の記号(Java/Cだと { ) が無い!
ブロックの開始のthen(if unless)とdo(for while until)は
記述を省略できるだけで存在しない訳じゃない
以上
444 :
nobodyさん:2008/06/18(水) 12:15:25 ID:BYaXAPuT
420です。
>>421 占有じゃないです。
#スタンダードプラン
>>443 > ブロックの開始のthen(if unless)とdo(for while until)は
> 記述を省略できるだけで存在しない訳じゃない
どんな言語でも「省略できる」は大概、悪いことな罠
C言語でも、if(〜){} の {}の中身が一行の場合省略できるが
一行でも省略しないというコーディング規約があるし。
省略できまくりで混沌としてしまったPerlという言語がある。
Rubyのコーディング規約を知らないのに何でこのスレにいるの?
447 :
nobodyさん:2008/06/18(水) 13:00:08 ID:BYaXAPuT
>>446 コーディング規約ってのは
言語の悪い点を指摘しているよねw
馬鹿には伝わりにくい表現ですみません^^
いい年こいて煽るなよどっちも
452 :
nobodyさん:2008/06/18(水) 17:29:31 ID:DSVYqGpy
> 関数の頭に def を付けて書く。
rubyに関数は無い
defはメソッドの定義を開始するための予約語
メソッドと関数ってそうめんと冷麦くらいの違いだ、大意は同じ。
Rubyスクリプトでクラスなしでdef書けるだろ。
メソッドだけ「定義」って書くならクラスにもdefつけろ。
クラスに付けないならメソッドにも付けるな。
putsとか%07dとかCからパクリまくるなら { } もパクればいいのに
妙に「俺が作ったんだ、ついて来い」みたいなくだらんアピールの意図を感じる。
endでブロック終わるのはどう考えても始まりがわからんから
エディタベースのコーディングを苦痛にする。
くそくそRuby。
453 :
nobodyさん:2008/06/18(水) 17:50:54 ID:DSVYqGpy
>javaにはdefineは無いし、Cの#defineは型の定義とは
まったく関係がない(型定義はtypedef)
あの〜defを
メソッドだか関数だかの先頭に付けるのはなんで?
defの語源を明らかにしてくれ。気になってしょうがねえ。
「記号に過ぎない。なんでもよかった。スクリプトパーサがバカなんでしかたなかった」んなら
そんなもん付けんでもすむようなまともなパーサを作ってから出せ!手〜抜くなボケ。
やっぱ語源はdefineだろ。まちゅもちょのボキャブラリってCとVBだけ。
454 :
nobodyさん:2008/06/18(水) 18:07:00 ID:DSVYqGpy
>javaにはdefineは無いし、
javaではインターフェイスを定義してimplementsすれば
Cの#defineみたいなリテラルの定義はできる。
Rubyでできる?
参考書立ち読みしたけど書いてなかった。
HOGE = 10
>>452 > Rubyスクリプトでクラスなしでdef書けるだろ。
rubyスクリプトのトップレベルはObjectのインスタンスmainそのもの
Objectに定義したメソッドは全てのインスタンスから参照できる
そのためトップレベルに定義したメソッドはどこからでも使える様になる
> メソッドだけ「定義」って書くならクラスにもdefつけろ。
> クラスに付けないならメソッドにも付けるな。
クラスの定義を開始するための予約語は class
> putsとか%07dとかCからパクリまくるなら { } もパクればいいのに
rubyがパクリ言語なのは周知の事実
ブロックが { } でないのは作者がへたれだから
>>454 インクルードファイル類による定数定義の集約がしたいなら
moduleに定数を定義してincludeすればいい
ネタがないからってココでやらずに
ruby のスレでやって
459 :
nobodyさん:2008/06/18(水) 21:55:54 ID:DSVYqGpy
Railsではテーブル名は規約に従って複数形が付けられるそうな。
既存のDBで複数名になってないテーブルは使えないの?
>>459 class Kokyaku < ActiveRecord::Base
set_table_name 't_kokyaku_master'
end
Railsの規約にあわない部分はだいたい変更がきく。
ID:DSVYqGpyってまさかRuby初心者スレでRails環境のこと聞いてた人じゃないよね?
あそこで酷い扱い受けたからってRubyに八つ当たりしてるような気がするのだが・・
俺メール送ったけど届いた?
おまえが責任持ってそのキチガイ隔離しろ
>>462 お前みたいな口が悪い奴が常駐してるからスレが荒れるんだって
いい年こいて煽ったりするの止めようぜ
俺も口が悪いやつは嫌いだな。
だから、
あなたが責任をお持ちになって、そのキチガイを隔離なさいませ
>defの語源を明らかにしてくれ。気になってしょうがねえ。
LISP の defun じゃね。
LISPのdefun ってdefine function の略?
def.
defective; 欠点のある,不備[不完全]な
defendant;被告(人)
defense; 守備,防衛
deferred; 延期された
definite;正確な
definition.明確化
好きなのを選べ。一番上推奨。
468 :
nobodyさん:2008/06/19(木) 01:18:43 ID:bEP0iFpD
>ID:DSVYqGpyってまさかRuby初心者スレでRails環境のこと聞いてた人じゃないよね?
全然違います。
>LISPのdefun ってdefine function の略?
defunのほうがましですね。defじゃあいまい過ぎる。
470 :
nobodyさん:2008/06/19(木) 02:20:20 ID:bEP0iFpD
>決め事に対して文句言うヤツはキチガイだから
上が決めた事柄に盲従するのもアホだ。
defじゃなくてtoiletだったりしても文句言わないの?
全てに対して批判的な目を持つのが知的な人格。
あぼーん
>>470 じゃぁ頑張って変えてください。
こんな所で吼えても無駄だぜ
それに別にdefだろうがtoiletだろうが、
目的が達成されるならどうでもいい。
Webサイトのユーザ側から見たら、んなの関係ないしな
手段や手法に拘るのは愚の骨頂
Rubyは俺はこうやると使いやすいと思う。お前もそう思えという松本の意志を感じる。
ruby本体の話は別のスレあるからさぁ。そっち行ってくれ。
>決め事に対して文句言うヤツはキチガイだから
そういう発言良くないよね。
でもRuby以上にRailsスレで、決めごとに対して文句言うのは微笑ましすぎる。
Opinionated Software
Convention over Configuration
478 :
nobodyさん:2008/06/20(金) 17:30:28 ID:K/40FH+o
479 :
nobodyさん:2008/06/20(金) 18:24:13 ID:K/40FH+o
480 :
nobodyさん:2008/06/22(日) 16:05:39 ID:cE0KTOeH
ruby on rails lightって使ったことある?
イニシャルPの3言語でごくふつうに書いても、実行速度で、そのlightに圧勝しそうだなw
実行速度とか、あんまし気にしてません。
ruby on rails lightって実行速度うんぬんでなくて、
格安レンタルサーバでも十分に動作するらしいってトコに魅力感じまして。
> 実行速度とか、あんまし気にしてません。
とか言ってるくせに、
> 格安レンタルサーバでも十分に動作するらしい
ということに魅力感じてるの?
バカなの?
「格安レンタルサーバでも十分に動作するらしい」の
意味を勘違いしているんでしょ?
ruby on rails lightの格安レンタルサーバでも十分に動作するの
意味は、単に重くないってだけの話なんだけど、
>>482は、ruby&ruby on railsの動作・対応をうたっていない
格安レンタルサーバでも、動くんだと思っているんでしょう。
残念ながら、lightを使ってもruby対応していない
格安サーバーじゃ動かないよ。
フォームヘルパーのselectにてindexオプションを設定しようとしていますが、他のテーブルに一対多でリンクしている列だけうまくついてくれません。
Class 'Entry' has many 'secitons'において、
<%=f.select :section, sectionlist, :
[email protected]>
としても、idは'entries[section]'となってしまいます。text_fieldならうまくいきました。
sectionlistはリンク先テーブルのIDリストを返すヘルパーメソッドですが、適当に[1,2,3]
などとしても同様です。回避方法はあるでしょうか。
486 :
485:2008/06/23(月) 01:56:44 ID:???
リンクしていない列でもなりました。Railsのバージョンは訳あって1.2.3です。
487 :
nobodyさん:2008/06/23(月) 03:17:42 ID:fGKx13Rx
ActiveRecordで、テーブルのカラムにない値をバリデーションしたい場合どうすんの?
いやね、テーブルには格納しないけど、検証したい値ってあるじゃないすか。
ちなみにRails2.1です。
488 :
487:2008/06/23(月) 03:30:48 ID:fGKx13Rx
すまん、わかったっぽい。
attr_accessor :valid_terms
def validate
unless valid_terms == 1
errors.add_to_base("規約に同意してません。")
end
end
んで、コントローラとかで、
@model.valid_terms = 1
を設定しないとエラー。これ便利ね。いまさら気づいた。。
おお。
>>488 validates_acceptance_ofってカラムにない値には使えないんだっけか。
491 :
日立バキバキ高野くん祭り:2008/06/23(月) 20:00:45 ID:q0X+JCqa
1.日立製作所社員の高野くん(高野光弘)が会社を誹謗中傷して機密も漏洩
2.日立のユーザーにも「キチガイ」との障害者差別発言
3.日立製作所の企業イメージをバキバキにする
4.自身のサイトの『32nd diary』に掲載
5.日立製作所に通報される
6.あせって似顔絵削除
7.火に油を注ぐだけで所属する日本UNIXユーザ会にも通報祭り勃発
8.「給料泥棒」と説教される
9.「殺します」と殺人予告をして警察に事情を聞かれる←イマココ
高野光弘の行動
現在は、過去の記事を閲覧できなくして、「本日の日記はツッコミ数の制限を越えています」としています。
まずは、不愉快な思いをされた方々に謝罪するべきなのではないでしょうか。
高野光弘の発言
「まぁ、どこの団体もそんなにヤワじゃないので、平気なんですけども。
日本UNIXユーザ会が一番対応に慣れてる感じ。」
日本UNIXユーザ会が対応に慣れているか、みなさん確認してみてください。
連絡先
http://www.net.intap.or.jp/oiia/cont2/p0402.html%7B0recid=10168.html
492 :
487:2008/06/24(火) 01:54:32 ID:t09efVU0
>>490 validates_acceptance_ofで似たような感じで粘ったんだが、
なぜかまくいかなかった。
俺がたんにアホなのかもしれないけど。
RoRはまだ環境が整ってないから、覚えるには早い
何事もタイミングが大事よ。早ければいいってもんじゃないよ
もっともっと有用な情報を出し合ってくれや
沢山でたとこで、効率よく覚えさせてもうらうよ
情報量少ないと調べるだけでも無駄な時間だからよ
> RoRはまだ環境が整ってないから、覚えるには早い
> 何事もタイミングが大事よ。早ければいいってもんじゃないよ
環境が整ってるのを教えてくれよ!
> PHp
どのフレームワークか教えて!
何度も出たと思うがRoRは
安いレン鯖で使えのが致命的
これさえクリアできれば、すぐにRORにする
ロリポップ、さくらインターネット等の安い鯖で
使えない以上、金にならん
>>499 安いサーバではFastCGIが使えないってこと?
海外鯖だと使えるところ多くね?
dreamhost で使ってみればいいんだよねw
安いレンサバで使える必要性が感じない。
仕事で使うならまったく関係ないし。
505 :
nobodyさん:2008/06/24(火) 23:27:14 ID:QU1sr0Jn
そうだよな。
仕事で使うなら専用サーバだろ。実際自分の会社はそうやってる。
mod_phpはインストール・管理が容易だから名。あれは普及に大きく貢献してる。
比べると、fastcgiは面倒だね。
>>504 >>505 ターゲット層が金持ち企業だけになるやん
俺はWEB受注開発がメインで仕事してるから
個人から企業まで幅広く仕事を請けたいんでね
だからRoRじゃ受注数減るんだよね、マジで
RoRの方が受注数増えるなら、そりゃ今すぐにでも必死になってRORを勉強しますよ
でも、まだ現実そうじゃないんだよね
中小規模のWEBコンテンツならロリポップのレベルで十分稼動できるから
専用サーバーなんて金掛ける必要ない
CakePHPが流行してるのは安いレンサバでも簡単に動くてのが
かなりメリット高いと思ってるよ
RoRまだ儲からないんだよ。松本だけか儲かってんの?w
楽しけりゃいいじゃん。
512 :
nobodyさん:2008/06/25(水) 09:08:12 ID:8A4VEiyB
>>507 そういう考え方もあるね。
うちは企業のみと仕事する方針なのと、ある程度大きい会社をターゲットにしてる。
PHPでも専用サーバでやるよ。共有サーバは選択肢にない。
twitterがRoRで高負荷サイト作る失敗例みたいになっちゃったから
RoRはこれから下り坂になるんじゃないかと思うんだがどうだろう?
俺も本は買ったんだが負荷が気になって結局手を出してない
JRuby1.1がいいって聞いた
コンパイルしてバイトコードで実行すると速いらしい
自分では試してないけど
あーJRubyか・・
Pythonも始めたがどうも美しく思えない
言語としてはRubyが好きなんだが・・
このスレみてmod_rails試してみたけど
こりゃ確かに導入は楽だわ。
性能とか良く見てないから総合評価はできんけど。
Ruby会議レポートどうよ
519 :
861:2008/06/27(金) 00:22:51 ID:???
NetBeansを試してるんだけど、sqlite3のドライバの追加のしかたが分らない。
[新規JDBCドライバ]のドライバファイル、ドライバクラス、名前って何を指定するの?
520 :
nobodyさん:2008/06/27(金) 09:41:12 ID:bfytbvRv
rubyてそもそも負荷を考えて設計してなくて
プログラムしやすい設計を第一に考えた言語だから
負荷がかかっても仕方ないと言えば仕方ない
RoRってFastCGI使ってても重いの?
fastcgiは高負荷で不安定になるから、いまはmongrelで行くのが普通。
passengerはまだ検証中・様子見の人が多い。
> fastcgiは高負荷で不安定になるから、いまはmongrelで行くのが普通。
> passengerはまだ検証中・様子見の人が多い。
ソースきぼん。
Mongrelはキャパ以上のアクセス来ると、反応返さなくなってプロクシエラー
常にメモリも確保してるし、ちゃんと受け入れられる接続数考えないと辛くなるよ。
FastCGIは必要な分だけプロセス作るから柔軟さではFastCGI
速度はMongrelのほうが速いみたいだけど、
キャッシュしまくってるウチでは明確な差でなかった。
ソースも何も、運用してれば分かるけど。
Passengerはよく分からない。
FastCGIについてはRubyKaigiとかでも話に出てた。
たしか食べログの発表とかで。
食べログて一度Rails化したけど、動かなくて
プレスリリース一気に引き下げたんだっけ?
CNETだけが空気読まずリリース出しちゃってワロタ記憶がある。
質問です。
複数のレコードを一度に保存するためにindexを付けたのですが
<%= form_for @hoo %>
<%= f.text_field :name, :index => i %>
<% end %>
この後どうすれば良いかわかりません。コントローラには
{'1' => {'name' => 'foo'}, '2' => {'name' => 'bar'}...}
のようなハッシュが返って来ますが、これをどうやって保存するのでしょうか。
また、通常のフォームのようにedit時に値を自動挿入させるには
コントローラでどう書けば良いのでしょうか。
宜しくお願いします。
Rails界隈ではfastよりmongrelって結論になってるけどね
ただ最終的にはpassengerが勝つ気がする
530 :
nobodyさん:2008/06/28(土) 01:19:42 ID:FhGz0EFW
rails2.0.2?のValidation
validates_presence_of :AAA (DB Date型)で
AAAに値入力があるのに
developmentなら正常(チェックかからない)
product (チェックがかかる。)
という挙動が異なる現象がでてるのですが、どこをまず疑えば
いいのでしょうか?save時のValidationの挙動はモードで異なる
のでしょうか><
モデルとマイグレーションさらしてみそ。
>>531 ソースは会社です><。ちょと気になって家で調べてました。
月曜日が攻めてくるので、明日冷静にみてみます。
533 :
nobodyさん:2008/06/29(日) 23:21:08 ID:??? BE:495046278-2BP(124)
クリッカブルマップをRailsで書く方法なにかありますかねぇ。
サーバサイドでもクライアントサイドでもいいんですが,
クライアントサイドの場合はベタにHTMLのarea要素がりがり書く以外の方法がなにかないかなぁと思いまして。
rails2.1用の、ActiveScaffoldみたいなプラグインありますか?
2.1になって、使えなくなったみたいです。
>>535 そうですか。情報ありがとうございます。
一応、対応が進められているのですね。待ってみることにします。
>>533 サーバでやったことがあるやつらは、35歳以上じゃないか?
今の現場の人たちは出来ることさえ知らないだろ。
「rails プロジェクト名」したら"Cipher is not a class"ってエラーでてプロジェクト作成できません。
おもいっきり初歩な気がしますがどうにも解決法わからないのでご教授ください。
osx10.5.3, Ruby1.8.7 p22, RoR2.1.0
mod_railsで動かしたrailsappの中でPHPコードって使えるの?
それが無理だとしても、別のディレクトリのPHPアプリって動かせるん?
public以下に置けば普通に動くのね。
Rails2をベースに書かれた本ってないの?
古いバージョンの本見ながらどうしろと・・
544 :
nobodyさん:2008/07/06(日) 08:12:37 ID:Z3KRnc84
Matzの会社を財務分析してみたんだが。
http://d.hatena.ne.jp/AntiSeptic/20080704/p1 などと思わせぶりな言い方をするものだから覗いてみりゃ、
なんて事無い田舎の零細企業の財務諸表であって、面白くもなーんともなかったわけだ。
それにしても、この程度の収益で2007年度って、
あの会社にとっては多分空前絶後の景気のいい年だったはずだの
Rubyとゆー「鉱脈」があるだの言っているのは何なのだ。
Geekのヨタ話というのは、いつもこんなしょぼいスケールで行われているのか?
あそこの技術者の平均レベルは、他の普通の会社よりはずっと高いと思うって、
これじゃあ、技術なんてIT企業の収益とは何の関係も無いと証明しているようなもんじゃねえか。
そもそも、この会社が何をやっているのかがHPを見た限りではよく分からん。
要は受託開発だろ労働力を人月で売ってるだけだろマーケ屋がこねくりあげた横文字得意げに使ってなに悦に入ってやがんだコラ。
更には製品・サービス部門まであって、なにやら参考価格が書いてあるところを見ると、
多分にパッケージっぽい印象を受けるが、それでいて全体の粗利率が26%程度ではどうしようもないだろ。
あそこに入りたい人は、損益計算書も注意して見ておくといい。まぁこれはどんな会社でも同じだけど、
ここを見るといろんなことが見えて来る。株価指標を計算してみるのもいい(非公開会社でもね)。
>544
2行で
url_for(..., :only_path => false)でどうか。
$c->uri_for('/') でどうか。
じつのところ、@request.host_with_portが重要なとこで、
http:// と /以降はなんとでもなるわな。
Ruby on Rails 1.2.4をインストールしたのですが
config/routes.rbにある
map.connect ':controller/service.wsdl', :action => 'wsdl'
は何を意味するのでしょうか?
ActionWebServiceのためのエントリ。
SOAPとか使わないなら削除してもいいよ。
米国のamazon検索すると、Rails本(rubyも)が、
ここ一年くらいで凄く増えてるんだよな・・・
昔のPerlのCGI本や、Java本みたいな、勢いを感じる。
日本でも、あと1,2年で、祭り状態になるんじゃない?
そういうタイミングで入ってくる香具師がさんざん荒らしていくことが多いんだよな。
ってか今ってちょっとブーム終息したくらいじゃないの?
またくんの?
本が増えてるのが良い状態だとは思えないけどな
閑古鳥が鳴くよりかはマシなのかな
入門本ばかりの状況はよろしくない。
ディプロイとかチューニングとかをディープに語る本が充実してくるようならよいかもしれない。
557 :
nobodyさん:2008/07/09(水) 16:06:05 ID:cawUKiXd
>>558 Rubyに強そうな企業ってことで、KBMJの就職試験受けて落とされたんだけど、
実はブラック企業だったの?
560 :
デフォルトの名無しさん:2008/07/10(木) 19:45:16 ID:r5mU74YZ
会員の高野光弘とやらが、非常識な言動をしていることについて、
日本Rubyの会はどう考えているのでしょうか?
文句があるのなら自分で言え
controllerでcreateした時に、redirect_to(@item)で飛ばされる先を
変更することって出来ますか?
具体的には、@itemにnameというcolumnがあったときに、
/items/:name
を表示するようにしたいのです。
itemは、id以外にもnameで特定することが出来ます。
たとえば、Wikipediaのように、/wiki/%aa%aa%aa%aa に飛ぶとか、
2ちゃんねるのように /php/1207425569 に飛ぶとかして、idを外に
表示しないようにしたいです。
そんなしょうもないことを実装するにも方法が分からなきゃ膨大な量のコードを読まされるわけだから堪らんわなあ。
Item#to_paramでも実装したら?
>>562 普通に@item.name調べて
redirect_toの引数変えるだけじゃないの?
redirect_toでcontrollerもactionもidも指定できるよ
wikiみたいにするのも、
routesいじって、contoller側でfindするだけでできる。
他のところの影響は未調査ですが、
>>564 さんのアドバイスで Item.to_param
をオーバーロードしたところ、上手くいきました。
def Item.to_param
name
end
一応、redirect_to(@item)から、named routesのitem_urlが呼ばれるところ
までは調べました。そこで、map.resoucesの中で定義されているmap.itemを
上書きしようとしたのですが、それは上手く行きませんでした。
map.item 'items/:name', :controller=>"items", :action=>:show, :conditions => { :method => :get }
↑ちなみに、:nameには@itemが渡されてきて、最終的には@item.to_paramsで
展開されるようです。
どうもありがとうございます。
Windows 2003 + Oracle 10g + RoR 2.1.0 を使っています。
RubyはOne Click Installer の1.8.6-26です。
既にOracleに存在する日本語テーブル(項目名も日本語)に
ActiveRecordを使ってアクセスしたいのです。
OracleのLanguageはSJISです。
$KCODE = 'sjis' として
set_table_name 'ほげテーブル'.intern
とすることで日本語テーブルにアクセスできるようにはなったのですが
テーブルの項目名が日本語の場合でもActiveRecordのクラスから
アクセス出来るのでしょうか?
Web+DBプレスに英語学習のiKnowがRoRで構築されてるって載ってた
重いと言われるRoRでも
インスタンス増やせばスケールはわりと簡単にできるんかね?
570 :
nobodyさん:2008/07/13(日) 21:04:08 ID:BOWtkQ1g
本を見ながら、routes.rbに、
トップページのルートを追加しました
map.connect '', :controller => 'main', :action=>'index'
でも、ドメインのみでアクセスしても、railsのデフォルトのwelcomeページが
表示されてしまいます
webrickを再起動しても同じです
どこが間違ってるのでしょうか?
index.html消し忘れてんじゃね
Ruby on Rails とは何を指しているのですか?
573 :
nobodyさん:2008/07/14(月) 01:19:57 ID:3TnQyIGU
ails 2.0.2です。FAQだったらごめんなさいです。
URIの構成についてです。
routes.rbに
map.resouces :users
ってやると
/users/:id
が基本的なURIになってしまいますが、
/users/:username
とできるような、おしゃれな方法はありませんでしょうか。
linkt_to @user.name, @user
って書いても/users/:usenameのようなリンクになってほしいです。
RESTful本のようにぐりぐり書くしか無いでしょうか。
よろしくお願いいたします。
それも to_param じゃねーの?
>>562 素で聞くが、何も考えずにやればできないか?
redirect_to :action =>"view", :id => item.name
これでは駄目か?ほぼ同等のコードで俺の手元ではうごいている。
時間の使い方を DRY にする方が良いと思うよw
modelに無い項目をフォームで入力するのって、どうやるの?
たとえば、dbには、crypted_passwordってあって、フォームではpasswordを
入力させたいような場合とか。
f.text_field :password ってやったら、undefined method `password'って
怒られました。
初心者な質問で、すいません。
579 :
nobodyさん:2008/07/14(月) 20:52:20 ID:msCuQYS4
def password=(pw)
@password = pw
end
def password
@password
end
ってモデルに書けばいいんじゃない?
580 :
nobodyさん:2008/07/14(月) 21:09:09 ID:7rWN2VbA
582 :
nobodyさん:2008/07/14(月) 23:33:47 ID:Da98iDUF
583 :
nobodyさん:2008/07/15(火) 03:08:47 ID:3loq0Qts
Rails2は、scaffoldでマイグレーションスクリプトが作られますが
マイグレーションスクリプト&テーブル構成を変更して、
それをscaffoldに反映させたい時はどうするのでしょうか?
そこまでのサポートはなかったような気がするなぁ。
そもそも scaffold は語義通り足場(とっかかり口)として初期自動生成される
ものであって、システムがずっとソレの面倒を見てくれるという位置づけの
モノでもないしね。
でも1.2まではmodelを元にしてscaffolding作れるじゃん
2.0以降改悪されたってこと?
>>578 f.text_field じゃなくて
text_field_tag のヘルパー使えばよくね?
form_for のなかにも混ぜられるよ。
railsのスレこれだけ?
困ってるのはログイン状態であることを仮定したコントローラのテスト。
昔はActionController::TestSessionをオーバーロードしてごにょごにょすればできたけど、
今は無理っぽい?
589 :
588:2008/07/15(火) 12:15:39 ID:???
すまんできたわ
@controller.request.session[:hoge] = "xxx"
とかだな
590 :
nobodyさん:2008/07/15(火) 15:14:05 ID:yfmZeFb8
モデルと直接関係ないフォームコントロールの表示とバリデーションて
どうやるの?
>>590 active_form 入れてみるといいかもしれんね。
プログラム板にもスレあるよ。つーか、この板って実質PHP板だから。
>>592 プログラム板にあったのは もうないんでは?
あるの?
railsは、日本では流行ってないからね
595 :
nobodyさん:2008/07/16(水) 09:11:16 ID:MaAMDHMG
passengerってみんなあんまりつかってないの?mongrelよりもいろいろ楽だしもっとさわがれてもいいきがするんだけどな。
>>595 kwsk!
よさそうだけど情報不足ってとこじゃないかな。
597 :
nobodyさん:2008/07/16(水) 13:00:47 ID:ahXuksxu
cakephp使えば生産性が上がるから
ruby覚えてまでrails使う理由が見当たらない
>>597 ずっとPHPつかってればいいとおもうよ。
>>595 使ってるよ。趣味でだけど。
自宅サーバでRedmineと一緒に使ってる。
Typoでもいけるかと思ったら、なぜかしばらくすると無反応になるので、
こちらは相変わらずmongrel_railsで起動してる。
>>595 まだ特定されたわけじゃないけど、passenngerを長く使ってると、メモリ
不足でサーバーが無反応になる気がする。
もしかすると、backgroundrbのせいかもしれんし、rails2.1のせいかもしれん。
mongrel_railsは、ほとんど落ちたことないね。
新規にpassenger+rails2.1使ったサイトを立ち上げたんだけど、
memory usageのcomittedってのが、異常に増えていくね。
603 :
nobodyさん:2008/07/17(木) 02:27:28 ID:UeACUYOm
jpmobileの半角フィルタ、
テーブルに「。」と「。」がないけど
半角「。」が使えない機種とかあるの?
不具合出る人はpassengerのバージョンは最新まで上げてる?
backgroundrbと相性が悪いらしいから俺はまだ手を出してないんだが、いずれは主流になるんだろうな
今時たとえばPHPが落ちるとか聞いたことないんだけど
RoRって落ちるとか落ちないとかそういうレベルなん?
そんなの実戦投入できんの?
RoRは落ちないけど、passenngerは簡単に落ちる。
mongrel_cluster なら多少、安心。1個2個落ちるときがあるけど、
monitで監視すればいい。
まあ、実践投入すると、twitterみたいに泣きを見るのは確か。
安定性を求めるなら、PHPだね。大規模MediaWikiを導入してるけど、
サーバーが落ちたことは無い。
RoRがいくら人気出しても
ruby作者がWEBモジュール関係についてやる気出さない限りは無理でしょ
まぁ、twitterみたいなのはPHPで作っててもダメだったけどな。
ありゃ仕様と運営方法での失敗。
ORM使ってる時点で高負荷サイトじゃ話にならない。
611 :
nobodyさん:2008/07/17(木) 22:35:09 ID:Agu5cuzT
高負荷サイトはGrailsで作っておけ
もう仕事はpythonとc++だけでいいし、趣味はschemeだけでいいよ。能力が救いようがないほど衰える60歳を過ぎた時、rubyに寄り道したことを悔やみ続ける余生を送りたくはない。
613 :
nobodyさん:2008/07/18(金) 09:04:49 ID:AzVXb1qN
負荷が増えたらサーバ追加するとかキャッシュを工夫するとか頑張れる事はあると思うけどね。
>>613 どのプラットフォームにも言えることだけどね。
railsは、PHPに比べて頑張らなきゃいけないことが多すぎる。
Ruby Enterprise Editionを入れるとマシになるんだろうか?
ちょっと試してくる。
pythonって関数とオブジェクトが混在してて書いてて気持ちよくない
俺は書いてて気持ちいいからRubyに流れてきたよ
Rubyより書いてて気持ちいい言語ある?
Saphire
>>612 60超えてまでこの仕事やるつもりかよ…30超えてやってたら人生終了
「TwitterはRailsのせいで不安定」という誤情報を頭から消し去ったほうがいい
Twitterなんて今はほとんどRails使ってないんだよ
逆にRails使った高負荷サイトなんていくらでもある
RubyKaigiでも紹介されてたじゃん
確かにPHP等に比べれば「今のところ」負荷対策が面倒なのは事実だけど
ruby厨必死ww
一回Ruby的思考に慣れるとPHP触った時のイライラ感が半端ない
ただ文字エンコードの変換はPHPの方が優れている
>>618 「Twitterがrailsのせいで不安定」なんて、このスレの住人は思ってない
でしょ。
初期にrailsを採用したせいで、色々「頑張らなきゃいけない」羽目になっ
て泣きを見たんでしょ。
金と人手を掛ければ高負荷に耐えられるなんてのは、当たり前の話で、
railsはキャッシュの面倒臭さやメモリ効率から行って、圧倒的に性能が
劣る(余計なリソースを取られる)ってこと。
まあ、基本、railsにはMatzが関わってないから、将来的な希望は持てる
けど。
mongrelみたいに開発者がブチ切れなきゃいいんだけどね
Ruby Enterprise Edition入れてみたけど、あまり変わらない気がするなあ。
面倒なので、ろくにテストもせず、いきなり実戦投入。
EC2のsmallで、30万PVのサイトを運営するのは無理があるかなあ。
railsのキャッシュの面倒くささって何?
Railsのデプロイが大変すぎるのでSymphonyに乗り換えようとした事がある
PHPの文法にイライラして無理だった
デプロイはcapistranoでやってるけど、
結構なコマンドがマシンをまたがって走ってるので
あまりに簡単な実行と相まって、待ってる間、怖くなる。
途中で^Cとか押したら終わりだ。
>>627 capiの利点てなんぞ?
シェルで賄ってて、特に不満や不安は無いから
いまいち移行する気にならん・・・
Ruby Enterprise Editionだと、メモリ使用量が5%ほど少なくなるね。
最大プロセス数まで起動したときの使用量が多少減った。
でも、CPU負荷が15%ほど上がった気がする。
まあ、Rubyは幸いにしてnaitive threadじゃないので、2個のCPUのうち
1個は丸々空いてるけど。
>>628 何個も同じようなサーバーを用意したり、インストールを何回もするような
場合には必須ですよ。
つまり、EC2を使う場合には離れられない。
MediaWikiもcapiでインストールしてます。
capistranoを使わない人ってまさか
毎回手動でログインして svn up して再起動とか?w
>>626 こうなると逆にプログラマーとして劣化してるな
レコードに大きなデータ(longtextとか)を持ちたいとき、別のテーブルに
すると思います(railsは、デフォルトで全部selectしてくるので)。
でも、なんとなく、
has_one :image
とやったときに、
@item.image.body
とやったり、
has_one :text
@item.text.text
みたいなのが嫌なんですが、何か良い方法はありますか?、
def image
self[:image].body
end
def text
self[:text].text
end
とか。
>>625 expire 系で、controller指定できたり出来なかったりとか、
sweeperが効いたり効かなかったりとか、
どのタイミングで消されるか分からないとか、
>>634 a=Item.new
a.text = ""
ってやると、おかしくならない?
637 :
nobodyさん:2008/07/20(日) 01:48:34 ID:/9XaoyQ3
フレームワーク祭りが終われば
RubyがWEB界からおさらばする日も近い。
phpはWEBに特化した言語だからRubyがwebで勝てる訳がない
あほですか?
PHPこそ滅亡間近なのにそれが分かってないなんて
Perlから見たら、どっちも滅亡間近に見えるんだろうな。
rubyは俺もブームだけで終わるような気がする。
たいていのウェブアプリはPHPで十分で、rubyはPHPより記述性が高いとは言っても、それは大きなメリットにはならない。
ウェブ以外の分野って考えても、ツール系のなら、PerlかPythonがある以上、rubyの出る幕はない。
今Perl→Rubyの移行してるんだが、
スマネShift+Enterおしてしもうた・・・
Perlはやっぱり早い。
Rubyに比べると読みづらいが、速度ではRubyは勝てないだろうな。
Pythonはあっても、Rubyはないよ。Perlが読みづらいって、Rubyも同じように読みづらいから。基本的にPerlのパクリだから。
PythonもRubyと同じような感じだよね^^
PerlやRubyはPHPの研究開発部門だよ
おいしいところはPHPが全部いただき!
google app engineに採用された時点で、pythonの勝ちだろ
>>633 Rails2.1で改良されてなかったっけ?
勘違いだったらごめん
>>646 それはGAEが勝つというのが前提だよな? でもGAEはなりもの入りで発表されたが、いまいちぱっとしない。
なんだ、まだ言語に拘るヤツが居るのか。
どの言語も読みやすさ、書きやすさは慣れじゃね?
手段や手法に拘るのは愚の骨頂だと思うんだ。
アクションと普通のメソッドをpublicとprivateで分けてるけど
actionに_actionっていうポストフィックス付けて名前空間管理すればいいのに
なんでしないんだろ?
あほなの?
いや、天才
じゃあなんでしないの?
じゃあ、あほだからでいいよ。
prefixの対義語はsuffixな。
演算子の書き方だと prefix, postfix, infixだな。
どっちがあってんの?
>>647 こういうこと?
動かないよ。
class Item < ActiveRecord::Base
has_one :image
has_one :body, :through=>:image
end
newrelicってどうよ?
production試してみた人いないかな ちょっと高いけど
>>634 associationは、selfでアクセスできるの?
self[:image].body
>>660 そうだな
def image
Image.find(self[:image_id]).body
end
とかしないとな。
railsapi.masuidrive.jpは、復活しないのかなあ
>>662 アメリカ行ってiPhoneで勝負かけてる真っ最中だからなー
Ruby使いって、継続性が無いって言うか無責任な奴が多いよな。
何か始めたはいいけど、すぐ飽きる。
>>662 おれはchm使うようになってから使わなくなったよ
chmマジお勧め
チムって何?
>>667 ホッとした。Rubyやってるような選択眼皆無の奴がやってたらお先真っ暗だからなw
>>668 一方、POBoxの増井氏はRubyist Hotlinksに出てたりするな。
jp.rubyist.net/magazine/?0005-Hotlinks
>>667 masuidrive.jp の人は会社立ち上げて iPhone 用アプリ作ってる。
なんかRailsエンジニアって、頑固じゃね?
最近入ったエンジニアで
独自のやり方で全部やってしまうヤツがいて勝手に色々なymlとか作っててビビッた
いきなりRailsから入って、Ruby知らない人も居る。
Rails書けるけど、Ruby書けない。
〜eval使いまくり、勝手なクラス拡張当たり前。
ちょっと怖い。
fragmentキャッシュの有効期限を設定できるようなプラグインありませんか?
timed_fragment_cache は、無くなったようです。
>>672 いるいるw
落ちないevalを使うのはいいけど、
バッチとかピュアRubyの単体プログラム作らせると
RailsのObjectメソッドバリバリ使って動かないー(´;ω;`)
とか悲しげな顔するなと言いたい・・・orz
俺もたまにRubyメソッドとRailsで拡張されたメソッド間違えるけどNA!
>>670 おおそうなのか。FlickrにiPhone写真何個かあるね。
676 :
nobodyさん:2008/07/26(土) 02:48:09 ID:NDko9ovj
development と production時の設定が違うとか?
678 :
676:2008/07/26(土) 14:09:53 ID:???
680 :
676:2008/07/26(土) 16:05:00 ID:NDko9ovj
説明が下手ですいません.
RAILS_ROOT/controller/actionからapplication.jsを呼んで
AJAXでRAILS_ROOT/api/item.jsonを取ってくる場合を例にします.
$.getJSON("../api/item.json", function(){});
とするとJSONを取ってこれますが,
ユーザがRAILS_ROOT/controller/action/にアクセスしていた場合
RAILS_ROOT/controller/api/item.jsonを探しに行ってしまいます.
かといって
$.getJSON("/api/item.json", function(){});
にすると,サーバに置いた時に
http://hostname/appname/api/item.jsonではなく http://hostname/api/item.jsonを読みに行ってしまいます.
当然の動作ではありますが,
サーバに置くたびにパスを書き換えたりするのが面倒で困っています.
application.rhtml.rbに
<script lang="javascript">
rails_root = <%= root_url %>
</script>
とか書いたらいけそうですが,他にいい方法があれば知りたいです.
ローカル開発時のmong起動するとき
mongrel_rails start -d -p 3000 --prefix /appname
とやってみればどうじゃろ
つうか本番が/appnameなdocrootなら開発時もそうするべき
開発・本番サーバ供に.htaccessのRewriteBaseを/appnameにしろ
jsからのリクエストも常にURLに/appnameなprefixをつける
それで解決しないか?
少なくともアプリ側でどうこうしようとかダメ絶対、どこかでハマる
これってRails云々よりもjsのパス指定とかの問題じゃなかろうか?
684 :
nobodyさん:2008/07/26(土) 21:17:28 ID:aP6tFpdr
>>682の言う通り、開発と本環境は設定をそろえるべきだよね。
685 :
676:2008/07/27(日) 00:47:45 ID:nzuWflrb
皆さんレスありがとう
自分で作って自分で動かすだけならprefixいじればいいかなって思ってたんですが,
友人が「できたらちょうだい」って言ってたのもあって,
環境に依存しないようにしたいなぁって思ってました.
とりあえずmongrelのprefixで逃げることにします.
ありがとうございました.
友人の為か・・・おまい良いヤツだな。
最近知り合った人が Rubyやってる人は良い人が多い と言ってたが
おまいはいいヤツだ。
俺も思うわ>rubyistいい人多い
無職には良い人が多いと思うよ。
689 :
nobodyさん:2008/07/28(月) 12:56:05 ID:MqC42Luf
application helperでCharsクラスに以下のようにメソッドを追加した時、
module ApplicationHelper
class Chars
def abbreviate(length)
return self if length >= self.length
return self[0, length] + "..."
end
end
end
show.html.erbではメソッドが使えるんだけど、index.rxmlではno method errorになります。。
どちらも呼び出し方は同じで、文字列.chars.abbreviate(30)という形です。
何が悪いのか分かる方教えていただけるとうれしいです _ _(Rails 2.1.0. Ruby 1.8.6)
690 :
689:2008/07/28(月) 12:56:44 ID:???
エラーは以下の通りです。
undefined method `abbreviate' for "test":String
モルモン教やってるひとには良い人が多いよ
>>689 そもそもCharsは::ActiveSupport::Mutibyte::Charsのはずなんで、
showでうまく動いてるってほうが謎な気が。
いい人ってことなら、perlが一番だよ。
rubyistのいい人は、「相手がrubyを褒めている限り良い人」という限定付き
だけど、perlはそれが無い。
なんか血液型で人を判断してるスイートと同じレベルのヤツが多いんだな
血液型は先天的なものだけど、使う言語は後天的なものだからね。
>691
学会員も末端は結構まじめないい人が多いよ
選挙とか半島とか調伏が絡むとアレになるけど
rendering と DB にはほとんど時間がかかってないのに、
リクエストの処理に20秒以上かかっているときは、
どこがあやしいとおもいますか。
情報料の少ない質問ですまん。
698 :
nobodyさん:2008/07/29(火) 12:41:09 ID:Xp3LFeKn
>>697 環境は?CGIとして動かしてるなら遅いよ
>>698 mongrel cluster です。
700 :
689:2008/07/29(火) 14:22:41 ID:???
>>692 ありがとうございます、理解しました _ _
rails2.1ってruby1.8.6でも普通に動くよね?
>>696 つまり、Ruby+学会+モルモン+Perl=聖人ですね
Pythonistaは信者だろうか。
Nobody expects the Spanish Inquisition!
>>701 うちでは普通に動いてるよ。
>>702 他人(PHP)の悪口を言う人は、聖人になれないと思うよ。
Rubyユーザ=学会員=モルモン教徒=Perlユーザ=聖人
activescaffoldは、いつになったらrails2.1に対応するんだろう。。。
>>706 Rubyユーザ == Perlユーザ # => true
なのですね、わかります。
モルモン教か創価学会に入った方が素敵な人生送れるってことです。
>>701 Ruby 1.8.6-p230では、Rails 2.1もRails 2.0.2も動かない。
ruby 1.8.7 (2008-06-20 patchlevel 22) [i386-cygwin] なら動いてるよ。
学会が出てくるのは分からんでもないけど、なんで日本では超マイナーカルト
のモルモンが出てくるの?統一教会とかの方が、メジャーでしょうよ。
>>712 は?Rubyと言ってなんでモルモンが出てこないんだよw
ヒント: 「matz モルモン」
アッー!
まぁ、少し落ち着けよモルモン人
俺もモルモンに入ろうかな
モルモンに入れば、
>>717のような癇癪持ちも
落ち着きと余裕のある大人になれるよ
断食とかもできるようになるし
モルモンは良く分からないのだけど、Matzが入っているのだから、良い宗教
なのだろう。人間を見れば分かる。
せめてRubyのスレでやってくれ。
作者が、殺人犯だろうとカルト宗教信者だろうと、プロダクトが良いものなら
関係ないね。
日本でrailsがイマイチぱっとしないのも、Matzの人徳だろうな。
それよりも、クライアントにrails使ってどんなサイトが作れるか聞かれた
んだけど「これこそ、rails」ってサイト無い?
>>705 も参考になるけど、日本語の奴はどれも個人で作ってるっぽいので、
もっとデザインとか気合が入ってるサイトが知りたいです。
Railsとデザインに何か関係があるの?
モンモン協はいい宗教だよ。
"昔の"斉藤由貴は可愛かったなぁ
Rails使ってて有名なとこだと iKnow! あたりか。
cookpadも使ってた気がしたが。
>>725 デザインというか「きちんと仕事で作ってます」みたいな体裁が、パッと見で
分かるようなサイトがいいですね。
railsで仕事をしてる方って、「こんなのが作れます」って、どう説明してます
か?「工数が少ないです」では、あまり説得力が無いんですよね。
>>728 これは、良いサイトですね。
あ、あと「ext jsみたいなの」って言われたんですが、railsだと、どうなん
でしょう?
あとは、食べログとか
Railsのプラグインで、検索機能を付加するものって
ありませんか?
メールの検索とかでよくある
(From) に <foobar> が (含まれる) (and)
(送信日時) が <n>(日以下)
...
()内は自動生成のプルダウン、<>内はユーザ入力欄
というようにDBの複数のカラムを跨った条件設定を
できるものがあるといいんですが。
eiga.com
okyuu.com
もRailsだよ
>>732 HyperEstraierとそれのプラグイン使えば1時間もかからんよ
>>734,735
ありがとうございます。
全文検索は不要で、カラムの型に合せた入力欄が
欲しいんです。
scaffoldの拡張的な感じで出来そうなので、
既にあるのかと思いましたがないもんですね。
>>735 acts_as_searchableですね。
gemで入ったので試してみます。
>>737 acts_as_searchableは便利だけど最低限の機能しか実装されてないけど、
ちょっと中カスタムするとGoogleのようなスニペットも実装できるよ。
>>733 で言ってるサイトでやってる検索はそれだろうな
739 :
nobodyさん:2008/08/04(月) 12:33:17 ID:m9kN5FVY
hyperestraierってinnodbでつかえるの?みんなmyisamばっかりつかってる?
ちなみに今snsサイトをrailsでつくってるんだけど、innodbでやるべきかmyisamでやるべきかわからん。。
迷うところじゃない。MyISAMに決まってるだろ。
そういう迷いが出るなら、最初からMySQLなんて選ぶなよ。
innodbは全文検索できないんじゃなかったっけ
今更myisam使うくらいならhyperestraierなんていらねぇよ
けんかすんなって
railsのvalidateってmodelに書くしかない?
symfonyのsfFormみたくフォーム用のクラス継承&validateを書く方法はないのかな。
いつもコントローラにvalid?とかメソッド用意して
しこしこif文書いてるんだけど。
>>739 HyperEstraier は engine 関係ない。
Senna だったら MySQL 組み込みになるので MyISAM 限定だが。
747 :
nobodyさん:2008/08/06(水) 15:27:41 ID:OJYcciz+
以下のようなフォームを書いたのですが、 送信成功後フォームの内容がクリアされずに残ってしまいます。
どのようにクリアするのが良いのでしょうか?それとも、フォームの書き方がおかしいのでしょうか?
すぐに見つかるかと思ったのですが、remote_form_forとそれらしきコードを併用してるページが見つかりませんでした。。
どなたか教えていただけると嬉しいです _ _
--
<% remote_form_for(:project_history, :url => project_project_histories_path(@project), :update => "project_histories") do |f| %>
<%= f.label :title %>
<%= f.text_field :title %>
<%= f.label :detail %>
<%= f.text_area :detail %>
<div class="button"><%= f.submit "Create" %></div>
<% end %>
モデルの更新時間を保持するカラム名updated_atだと
バッチ処理などでモデルを更新した場合にも更新されてしまうので、
ユーザ操作による最終更新時間を保持する別のカラムを用意しようと
おもうのですが、いい名前が思いつかないからだれかいい名前を
ご教授くださいませ。
modified_at とか
751 :
nobodyさん:2008/08/06(水) 23:11:47 ID:Slgk/mdN
すっげーくだらないんですけど、
拡張子のymlって何の略なんですか?
>>751 YAML は、"YAML Ain't Markup Language" という冗談のような名前の省略形です。
753 :
nobodyさん:2008/08/06(水) 23:19:51 ID:Slgk/mdN
>>752 ありがとうございます!
なんか似たような構造の名前を
どこかで聞いた気がしますが、思い出せません。。
754 :
nobodyさん:2008/08/06(水) 23:21:49 ID:Slgk/mdN
あ、GNUですね!
756 :
nobodyさん:2008/08/06(水) 23:25:36 ID:Slgk/mdN
>>747 そりゃ残ると思うけど。
クリアしたければJavaScriptかなんかで。
758 :
747:2008/08/07(木) 00:46:33 ID:???
>>757 そういうものなんですね。安心しました。。
:successを使ってJavaScriptでクリアしようと思います。
ありがとうございました _ _
acts_as_searchableは、2.1でも使えるの?
2.1使いの人に伺いますがnamed_scopeっていい感じですか?
さっさと2.1に上げて使うべきですか?
2.1の良いところは、migrationがUTCベースになったこと。便利だよ。
named_scopeも多用するけど、べきってほどじゃない。
UTCのマイグレーションってなんで便利なの?
シーケンシャルアクセスだけより、ランダムアクセスも出来たほうが、
良いジャマイカ
migrationが009まであるとき
Aさんが自分とこでdb/migrate/010_create_foo.rb
Bさんが自分とこでdb/migrate/010_add_hoge_to_bar.rb
をつくってお互いにコミットしたときにウボァーとならなくて済む。
一人で複数のrailsアプリを開発しているときでも、migrationがコピーできる
のは、ありがたい。
UTCってことは、日本時間じゃないんだよな?
そりゃそうだ。
001- 002- と同様、ただのIDだから日本時間である必要ないし。
769 :
nobodyさん:2008/08/12(火) 09:00:28 ID:KgBJ4o74
Ruby1.8.7-p71とrails1.2.6、2.1.0は自分の環境で動いてるんだけど、不具合出た人いる?
770 :
nobodyさん:2008/08/12(火) 12:08:45 ID:/IFRJz9p
ruby 1.86 p111 rails 2.1.0を使っています。application_helper.rbで以下の二つのメソッドをそれぞれのクラスに追加しました。
class ActiveSupport::Multibyte::Chars
def abbreviate(length)
return self if length >= self.length
return self[0, length] + "..."
end
end
class Array
def to_dls
return self.map{|s| s.gsub("^", "?x5e;")}.join("^")
end
end
前者は"test".abbreviate(20)とすることで正常に動作したのですが、
後者を["test^1", "test^2", "test^3"].to_dlsとViewで呼び出すと以下のエラーが発生します。
undefined method `to_dls' for ["test^1", "test^2", "test^3"]:Array
Arrayクラスにメソッドを追加してViewの中で使用するにはどうしたらいいのでしょうか?
どなたか教えていただけると嬉しいです _ _
>>770 詳しく読んでないが、
ApplicationHelperでそのモジュールをinclude してみてはいかがだろう?
>application_helper.rbで以下の二つのメソッドをそれぞれのクラスに追加しました。
て書いてあった・・・
sudo rm -f /*
してくるorz
>>770 ruby 1.8.7 (2008-06-20 patchlevel 22) [i386-cygwin]
rails 2.1
webrick
だと、普通に動いたんだけど。
a.html.erb: <%= debug ["test^1", "test^2", "test^3"].to_dls %>
結果: --- "test?Hx5e;1^test?Hx5e;2^test?Hx5e;3"
rm -f /*じゃ、多分実害はない。OSによるけど。
>>774 Fontファイルが消えてGUIが死ぬ
Youtubeにあった気がするぜ
>>775 / にフォントファイルが置いてあるの?
同一サイトで複数のアプリ動かすのに
mongrel_clusterに--prefix rails_app付けて
apacheのProxyPassディレクティブで、
/rails_app以下は、mongrelに処理させるよう
proxy設定したんだが、
アプリ自体は正常に動くが、
cssファイルが読みこめなくて、
ActionController::RoutingError (No route matches "/stylesheets/scaffold.css"
というエラーログが出る。
仕方がないので、apacheのDocumentRoot /var/www以下に
ln -s rails_app/public rails_app
こんなして、cssなどの静的ファイルはapacheに読みこませる
%8
ようにしたんだが、もう少しスマートな方法はないでしょうか?
>>779 ありがとうございます。
VirtualHostは同一サイトでなくなるので
Proxyは必須だと思ってます。
lnがなくせればいいんですが。
>>780 prefixより、サブドメインでバーチャルホストの方がSEO的にもいいし、色々と楽じゃね?
>>781 DNSがない環境なので、
サブドメインのほうが大変そうです。
>>782 thx 勉強してきます。
> サブドメインでバーチャルホストの方がSEO的にもいいし、
なぜ?
検索したとき、同じドメインのものはひとつしか表示されない。
ドメインが違うと二つとも表示される。
でもサブドメインにしたら、違うドメインと認識されるため、
ページをアップするためのポイントが分散される。
結果、二つとも表示順位が下がる。
被リンク数? ドメイン分けると分散されるね。
しかも、新たにサブドメインを作った場合、そのサブドメインの
ページランクは低いから、まったく意味ないね。
SEOの話はスレ違い。
ど素人の話など聞きたくない。
ああ、サブドメインで分けるのは最悪だと思う。SEOからしたら。
とりあえずサブドメインとやらの定義を示してもらわなきゃねえw登録日か?w
SEOは、健康バラエティ番組的なノリの世界だからな。
○○が健康にいいと聞けば、その前提条件や効果範囲など
ちゃんと調べもせずに○○ばっかり食べるようなそんな世界だ。
○○のとりすぎはよくないと言った数ヵ月後に○○にはこんな効果が!とかやるような世界だ。
サブドメインにする明確な理由があるほど、コンテンツ内容が独立していて、
それ単体で一つのサイトとしてやっておかしくないような場合。
つまり、SEOとかそんなまじないみたいなものは気にせずに、
サブドメインを使うべきところにサブドメインを使えばいい。
検索エンジンは、そういう自然なサブドメインの使い方に対して
ポイントを与えている。
Railsで自作のmoduleとか定数まとめたファイルとかって、普通どこのディレクトリに置くもん?
複数のControllerから使うからまとめときたいんだけど・・・。
RAILS_ROOT/libが $: に含まれてるからそこにおけばいいんじゃない?
名前をお約束通りに付けておけばconst_missingを捕まえて勝手にrequireするし。
helperって手もあるかな
ときどきconfig/initializers/*.rbで気に入らないところとかに
モンキーパッチ当てるんだけど、initializeじゃないし、やっぱ行儀悪い?
795 :
791:2008/08/19(火) 23:50:18 ID:???
>>792 >>793 レスありがとう。
今はlibの下に置いてApplicationControllerでincludeしてるんだけど、「お約束通り」の命名にすればそれが不要ってこと?
定数名にRailsの命名規約があるの??
定数というか、モジュール/クラス名がconst_missingのとき、
その名前をオール小文字/単語境界をunderscore化、ネストをディレクトリ
とみなしたファイルがrequireされる。
たとえば、いきなりinclude FooBar::Bazとか書いて未定義の定数を使うと、
require 'foo_bar/baz' される。
>>797 YES
apacheが動いてたら、ポート競合してRailsアプリ起動しないから安心汁!
799 :
797:2008/08/20(水) 13:51:33 ID:???
存在しないファイルを連続で取得する「行儀の悪いクローラ」がいるん
だけど、上手くアクセス制限する方法は、ありますか?
相手は動的IPなので、アドレスで制限することは出来ません。
ActionController::RoutingError で、404.htmlがレンダリングされること
になるんですが、RoutingErrorをカウントして閾値を超えたら一定時間ban
みたいなことをしたいのですが、方法が分かりません。
>>796 なるほど!
その方がRailsっぽくてカッチョイイね。
詳しい解説ありがとう!
試してみるよ。
RoutingErrorはrescure_fromで捕まえられないんだよな。
AC::Base#rescue_actionをオーバーライドしてRoutingErrorだったら
DBに記録したりbanしたりすればいいんじゃないだろうか。
解除の方は定時処理で一定時間経過しているものをクリアする。
application.rbにrescue_actionを定義すれば、いいんですね。
上手く実装することが出来ました。ありがとうございます。
定義というかオーバーライドだから、自分で処理しないときは
super呼ぶ必要がある、はず。
805 :
nobodyさん:2008/08/24(日) 15:45:14 ID:VqgKvUuy
自宅サーバで友人に自由にRailsアプリを配置させたいのですが
Passengerだと鯖管理者がその都度VirtualHostを切るしかないですかね?
mod_fcgidだったら.htaccessで後はご自由に、って
できたのですが、時代に逆行しているような気がして。
何かよい方法あれば教えてください。
>>805 Virtualを切るスクリプトを書いてしまうというのはどうだろう?
きっと webminやらvirtualminでできる。かもしれないw
質問です。
mongrelを使っているのですが、public/javascripts/iepngfix.htcの読み込みが
css内のbehavior経由でできません。
IEツールバーにはAccess is deniedと怒られます。
パーミッションは644、ファイルパスを直接ブラウザに入れると普通にDLできます。
なぜだかわかりません。どなたかご教示願います。
rw属性にしてみ?
810 :
808:2008/08/25(月) 16:47:54 ID:???
>>809 rw属性って、パーミッションを666に変えるということですか?
おれはHTCはexeと同じぐらい危険なものという認識をしているのだが、
そもそもcss内から呼び出せるものなのか?
.htc の MIME-Type が設定されてないんでない。
>>813に関連して、
「漏れのRailsアプリではREXML使ってないからいいやー」
と思っている奴は、それ勘違いだからな。
Railsの中で
require 'rexml/document'
してる所結構あるよ
script/consoleで
サンプルコード再現確認したけど、
見事に固まってワロタwwww
動いてるRailsアプリにPOSTしちゃダメだぞ!!
結構あるけど、大抵はテストでタグassertするところなんだよね。でも、
Content-TypeがxmlなデータをPOSTされると、
actionpack-2.1.0/lib/action_controller/base.rb の
@@param_parsers[Mime::XML] が :xml_simple なので、
POSTボディ解析に XmlSimpleクラスが使われる。
XmlSimple自体はactivesupport-2.1.0/lib/active_support/vendorにある。
こいつがREXML使ってるから、やばいPOSTデータで死ねるんだな。
>>816 XMLのPOST許可って外部APIの受け口とか、他鯖のデータ受け口だし、
画面上から気づく所が無いのが唯一の救いだよな。
(まぁ外部APIや他鯖連携使ってるって分かるようなサイトだと入り口見つかるのも時間の問題だけど・・・)
久々の祭りでちょっと面白かった
(ちら裏)
個人的にはxml_simpleは速度がピュアREXMLより遅いから嫌いw
form_forブロックの中で独自の入力フォームを作りたい時は
どうすればいいのでしょうか。
<% form_for @foo do |f| %>
<%= f.bar_field %><%# ←これを追加したい %>
<% end %>
×入力フォーム
○入力フィールド
でした
>>818 「独自の」ってのがいまいちわからないんだけど、textだとかcheckboxのような種類のことを言ってる?
それとも、@fooのプロパティのこと?
>>818 >独自の入力フォーム
「入力フォームを生成する、独自のヘルパー関数」のことか?
遅くなってごめんなさい
>>818 その通りです。
例えば元から用意されているtext_fieldを拡張したい時などに、
どうすればRails2.*の作法に従えるかわかりません><
823 :
822:2008/08/31(日) 19:39:45 ID:???
text_fieldのソースパクッて
拡張加えて、
def ext_text_field
のようにヘルパー内でメソッド作っちゃえば?
個人的にCSRF対策に
form_tag呼び出されたら、自動的に
トークンのhiddenタグが呼び出されるように
form_tag拡張してるYO。
(Rails2のCSRF対策はちょっと弱いからw)
よかったらどの辺が弱いのか教えてもらえないですか?
入力→確認→完了
の流れを一度正常にやってから
確認画面にBackとかで戻ると、フォーム期限切れの画面出るけど、
そこでF5押したら普通にPOSTが効く
セッションが生きてる間は、
Railsが生成したトークンが有効になってしまうんよ。
個人的に一連のこういう流れは、ワンタイムトークン使うべきだと
思うんだ。
あくまでも個人的なオナニーだから、使わなかったから
何だって訳じゃないけどw
確かに二重送信などを防げないとは思うけれど、
CSRF対策としては別に問題ないのでは。
rails(2.1.0)で「新規レコード追加→追加されたレコードのID取得」って
どうやってやるのでしょうか。
「Hoge.find(:first, :order=>"id desc").id」で
一応は動いているのですが、ちょっと気持ち悪いです。
select last_insert_id() とか select lastval()のような
追加された値を明示的に取得する方法があったら知りたいです。
(この際、SQL直書きでも構いません)
hoge = Hoge.new
hoge.save
hoge.id
この時間に即レスありがとうございます。
出来ました&動きました。
……そーか、こんな単純なのか。
調べても出て来ないわけだ……。
そうなんだよなー
俺も知らなかった時はsql書いてたw
RailsによるアジャイルWebアプリケーション開発(原書でもいいけど)は買っとくべきだと思ふ。
そもそもidが順番に増えていく保証はない(削除で空いたら再利用する
かもしれない)ので、orderで現在の最大値を持ってきたらあぶないと思う。
空いたら再利用ねぇ・・・
それってIDじゃ無いと思うw
今はどうなってるかわからないけど、前にsqlite3がid再利用してたよ。
destroyした後、createしたら同じidが振られた。
というか、DBの識別子をユニークなものとして設計すること自体が
間違ってるような。
激しくどうでもいいな。
わざとらしい例ですまんが、MySQL 5.0.45にて:
ISAMテーブル/BDBテーブルでauto incrementカラムの最大値を持つレコードが削除されると、
その値は再利用されるそうな。
mysql> create table samples (id tinyint auto_increment, primary key (id)) engine=ISAM;
mysql> insert into samples values(126);
mysql> insert into samples values(NULL);
mysql> select * from samples;
+-----+
| id |
+-----+
| 126 |
| 127 |
+-----+
2 rows in set (0.01 sec)
mysql> delete from samples where id = 127;
mysql> insert into samples values(NULL);
mysql> select * from samples;
+-----+
| id |
+-----+
| 126 |
| 127 |
+-----+
2 rows in set (0.01 sec)
再利用がどうこうより、レースコンディションを考慮するべき。
>>841 HTMLで書けばいいじゃない。
HTMLで書く方が負荷は若干低いよ
Rails2ってDB操作しようと思ったらマイグレーションで
テーブルを作っていないといけないんですか?
直接作ったDBにレコードを挿入しようとした時にエラーになり
マイグレーションで作ったDBにはうまくいったので疑問に思いました
>>841 ENV['RAILS_ASSET_ID'] = ''
>>843 直接造ったテーブルがRailsの規約に沿っているか、
Railsのほうでテーブル名やプライマリキーの設定を変えるかすれば使える。
>>844 そうなのかなぁ、テーブル名とプライマリーキーの設定はモデルでしたんだけど・・
何か設定が正しくなかったのかな
あと、そのプライマリーキーが数値じゃなくてもOKだよね?
>>846 そうですか、それが原因だったみたいですね
今、既存のテーブルを使いたいんですが、そのテーブルの主キーがvarcharだから困りましたね
そういう場合でRailsを使ったシステムを作りたいなら、どうしたらいいでしょうか?
やっぱりテーブル構造の変更を行うしかないでしょうか?
主キーなしでモデルをつくることも出来るけど、関連を使おうとするとかなり苦労しそうだなぁ。
ラッパーテーブル作ったら?
primary keyとそのテーブルの主キーだけの
主キーを別に追加して
元のPKはUNIQUEに変更、では駄目?
いろいろな対応策を考えてもらい、ありがとうございます
>>850 が今のところ一番わかりやすく、現実的かなと思いました
直接SQLを発行すれば一応テーブルの変更はいらない・・・ですよね?
でもRailsのアプリでそれはダサいかな?
どこまでもORマッパの力で突き進んでみるのも一興だが、
SQL直書きだって決してダサくはないよ。
AR::Base.findのオプション(:selectとか:joinとか:groupとか)で対応できる範囲なら
そうしておいたほうがRubyレベルでいじりやすいだろうけど。
restful_authenticationについて質問です。
これのREADMEにはRails1.2.6以上で動くと書いてあるのですが
実際に1.2.6で使ってみると「authenticate_with_http_basicがない」
とエラーになります。
調べてみると、このメソッドはRails2で実装されてるようです。
READMEが間違ってるってことでいいんでしょうか。
ActiveRecordで、データベースからselect()してきたrowを文字列から適切な型に変換している箇所はどこでしょうか。
たとえば select * from users の結果として取得したrowはたとえば ["1", "name", "2000-01-01"] になっていますが、
それを [1, "name", Time.mktime(2000, 1, 1)] に変換してくれている箇所です。
自力でおっかけていたのですが、力つきました。
力が付いてよかった。
いじわるさん!
>>856 active_record/connection_adapters/abstract/schema_definitions.rb:631あたりだね。
RubyのクラスとDBの型の対応は
active_record/connection_adapters/mysql_adapter.rb:194とか見るといいよ。
>>859 あー、行はactiverecord-2.1.0だよ
>>851 だけど、テーブルの主キーが数値じゃなくても
テーブルに挿入いけたよ!みんな隠してたのか!
それとも俺の環境がおかしいのか
#!/usr/bin/env ruby
require File.dirname(__FILE__) + "/../../config/environment"
loop do
# ああだこうだ
sleep(10)
end
こんなデーモン的スクリプトを使っているのですが、development環境の
場合にModelクラスなどを自動的にリロードさせるようにすることは
できますか?
やったことないけど、script/serverと同じ要領でいいなら、ループの先頭で
Dependencies.clear
ActiveRecord::Base.reset_subclasses
Class.remove_class(*Reloadable.reloadable_classes)
みたいなことをすればいいぽい。
細かいことはReloadableのドキュメントを読んでくれい。
2.0以降でform作るとauthenticity_tokenが自動で生成されるけど、あれの前後がdivで囲まれてるのは意味があるのかね?あれ消したいんだけどどうすりゃいいんだろ
>864
actionpack-2.1.0/lib/action_controller/dispatcher.rbの
cleanup_application
rails-1.2.6/lib/dispatcher.rbの
reset_application!
rails-?.?.?/lib/console_app.rbの
reload!
あたりを参考にしました。
1.2と2.0でやり方変わってるので注意ぽい。
>>865 form_tag_helper.rbの
extra_tags_for_formに
content_tag(:div, token_tag, :style => 'margin:0;padding:0')
と言うのがあってだな・・・
>>867 ソースぐらいmargin:0でgrepかけて見つけるべきですよね…
ありがとうございました!
869 :
853:2008/09/13(土) 00:04:36 ID:???
>>854 えらく遅くなってしまって申し訳ありませんが、ありがとうございました。
まだ確認してませんが、今週末に見てみます。
redirect_toでリダイレクトされない事がよくあって困っています。
sessionが増えると発生します。
Railsだとよくあることなんですか?
それだけじゃ判断付けようがない
そこそこ大規模サイトやってるが
ない
874 :
nobodyさん:2008/09/16(火) 20:32:22 ID:xPoLLpKz
windowsでrailsを使用していますが、
「ruby script/...」とか「rake db:migrate」とかを実行すると、
非常にとんでもなくまたされます。正直、とんでもなく遅いです。
この現象はwindows環境ではみんな同じなんでしょうか?
もっとスクリプトの実行を速くする方法は無いでしょうか?
win上でcolinuxかandlinux動かして
その上でやると早いお
何がボトルネックなんだろな
877 :
nobodyさん:2008/09/17(水) 00:08:32 ID:NExepFrS
>>875 仮想OS(linux)上でrailsを使うと、RailsのIDE(NetBeansやAptana)
をWindows上で使っているので、データーを共有できないんです。
Windows上でRailsを使って開発している人は、
こんなに遅いのをみんな耐えているのかな?
「ruby script/generate scaffold ...」の実行に何で20秒もかかるんだ?
Railsは開発速いとは言っても限度がある。
デザイン組み込みとかだるいし。
値段はともかく、営業がギリギリの納期で仕事取ってくるので苦労してる。
プロジェクト間に時間的余裕が無い感じ。
一人プロジェクトを平行して回すとかになると辛い。
以上、チラ裏でした。
>>874 具体的な時間も示さないでそんなこと。。
>>877 windowsで開発してるけど、遅いよ。
linuxと比べると数倍遅いよね。
Core2Duoにすると、幾らかマシになるよ。
windows上で動かしているwebrickに外部からアクセスできてしまう事に気づきました
どうすれば防げますか?
apacheかルータで弾けば?
>>882 :BindAddressのデフォルトが0.0.0.0(すべてのデバイス)なので、
newの引数で指定してループバックデバイス(127.0.0.1)だけを見るとか。
886 :
nobodyさん:2008/09/19(金) 16:40:43 ID:KktuWVpS
田中ばびえ
馬場道明死ね
ruby script/server webrick -b 127.0.0.1
あ、自分はWindowsじゃないし、mongrelが入ってるからwebrick指定した。
多分 ruby script\server -b 127.0.0.1 で良いと思う。
>>874 WindowsネイティブのRubyインタプリタがトロいだけ
irb単体を起動するだけでも相当時間かかるだろ?
ターミナルのOSがWindowsだからって
Windowsのコマンドプロンプトで開発してるわけじゃないだろ?
これだから最近のMac厨は激しく困る
最新のPCでも買いなよ
MacMacにしてやんよ
亀レスの割には何の回答にもなってない、単なる煽り乙
>>889
でってぃう
爬虫類乙!
PHP使用者が圧倒的に多いんだから、
伸びてくるのは当然だろう・・・
cakephp,railsで比較すると良いと思います。
897 :
nobodyさん:2008/09/25(木) 21:55:02 ID:Bq2f3Q+i
>>893 日本国内での比較を見るのは間違いだろう。
PHP利用者は圧倒的にrails利用者より多い中、
railsの検索数のが多いという事はどういうことかわかるでしょう!!
railsは良いけど、windowsでまともに開発ができない(遅すぎる)ので、
これからどうでしょうかね???
それが何か問題でも?
WindowsじゃRailsは開発できねー!というなら、Cakeでも何でも
別の選択肢を選べばいいだけ。何の問題もない。
手を動かさない奴はgdgd比較ばっかりしてるけどw
本番機windowsじゃないからなぁ。
windowsでやるにしても、colinuxなり何なり動かすんだろうし、
linuxサーバ1台用意して、そこにターミナル繋げば良い話。
うちはlinuxに繋いでる人と、macの人に分かれてる。
railsが使えるレンタルサーバーって
高いところばっかりだね。
なぜmongrelとアパッチの二つのサーバーを使うの?
apacheはロードバランサとして使う。
mongrelがアプリケーションサーバ。
つまりrailsをやるときには、必ず
mongrelとアパッチと、2つのサーバーを
同時に起動してないといけないの?
別にそんなことはない。
mongrelを80番で上げれば良いだけ。プロセス1個になっちゃうけど。
実運用とか考えるとapacheかましといた方がいろいろできて便利。
rails使えるレンタルサーバーで
一番安いところは、どこ?
さくらのライトプランでrails動く?
さくらのライトプランって何の話だよ
レン鯖のことならレン鯖板で聞いてこい
そんなのはもうとっくに聞いてるんだよ
一応rubyとSQLliteは動くが、
railsを動かすにはサーバーのrot権限が必要だから
常駐はできないんじゃないか?って意見でおわった。
で、おまえらの意見を聞いて補完しようと思って。
常駐できないってどういう意味なのかな?
ちなみにさくらのライトプランでは
mySQLは動かないが
SQLlitejは動くんだ。
だから、ruby+SQLliteでrailsいけるんじゃ
ないかな?と思って。だれか実証経験者いないかな?
それで、root権限って普通、レンサバではもらえないよね?
それだと常駐できないの?
でも常駐できないってどういう意味なのかな?
さくらでrails動かしたってblogの記事がいくつかあったから動くんじゃない?
普通はrails対応謳ってる海外のレン鯖を使うと思う。
常駐云々はFastCGIとかPassengerを調べれ。
>>908-909 なら先にそう書けよ。
ていうかお前自鯖とかローカル環境でrails使ったことあるの?
なんか全然わかってないままレン鯖で実験しようとしてない?
自サバというか
自分のパソコンの中では
rails動いたよ。
ttp://open-bio.jp/archive/20070302_OB6/OB6-KEGGonRails-Katayama.pdf ↑を参考にページ内ウィンドウを作ろうと思ったんですが、
(絶対位置指定したdivをinsert_htmlしてpage.draggable)
実行するとinsert_htmlした部分にJavaScriptの内容がだーっと出てきて
RJSはobject errorを吐いてしまいます。
コード的にはこんな感じです。
(View側)
link_to_remote '[BUTTON]',
:update=>'child_window',
:url=>{:controller=>'hogehoge',
:action=>'popup_window'
}
(Controller側)
def popup_window
render :update do |page|
page['oyapane'].make_positioned
page.insert_html :bottom, "oyapane", :partial => "child_window"
page.draggable "child_window"
end
end
Rubyは1.8.6で、Railsは1.2.6使ってます。
多分insert_htmlがオカシイ?ような気もしますが・・・。
心あたりあるかたいますか?
view側のupdateが要らない
さくらでRailsアプリ動かしてるよ。
FastCGIもMongrelもPassengerもなし、素のCGIだから遅いけどね。
ライト?
スタンダード?
917 :
915:2008/09/29(月) 12:32:10 ID:???
シェルログインが必須なのでライトでは無理。
まじで?
シェルはあったほうがいいが、
なくても可。
とか、よく書いてあるけど、うそなの?
絶対必須なの?
ちなみに、
シェルログインができる=root権限がもらえる
であってる?
>>918 一般1ユーザのアカウントがあればシェルログインはできるからrootとは限らないんじゃ?
railsってmysql使うじゃん。
だから、mysqlの制御をするのに、
phpmyadminが必要だと思うんだけど、
なんでinstantrailsには入ってないの?
フロントエンドぐらい自分で好きなの入れろよ
どうせ使うんだから最初から入れておいてよ
923 :
915:2008/09/29(月) 15:19:47 ID:???
まとめると、
「シェルログインが必要」
↓
「なんで?」
↓
「rails関連のgemを自分でインストールする必要があるから」
↓
「なんで?」
↓
「だって標準じゃ入ってないから」
↓
「つまりsshでFreeBSDにログインしてコマンドラインでgemを入れる必要がある」
よってシェルログインが必要
なのでライトでは無理。
スタンダード以上必須。
ちなみにrails使えるレンタルサーバーで
500円クラスのところ、いっぱい教えてね。
教えてくれないとcakephpで作るから!
昔ロリポップで動かしたよ。
スゲー遅くてやめたけど。
遅いっていうのは
クリックして、ページが出てくるまでが
時間がかかるってこと?
screenの中でwebrickとかmongrelで動かしてdetach、DBはsqlite3とかいう手もなくはないな。
ポート番号まではさすがに1025以降になりそうだが。
指がズレタ。1024
>>914 :updateが余計でした…。
JavaScriptがズラズラ出てしまうのはそれで解決しました。
ありがとうございます!
RJSがobject error吐いてたのは、
Test::Unitが出してたヤツみたいでした。
>>929 技術的には可能だが、
デーモン起動を禁止しているレンタルサーバは結構ある。
そういえば「gemをインストール」の話があったけど、
手元でfreezeしてvenderにコピーしてしまえば、
鯖での作業は不要にならない?
>>928 そうそう。
たぶん、普通のCGIだったから。
毎回Railsのフレームワーク全体をリロードしてたんじゃないかな。
Railsは使えてた。嘘ではない。
>>932 やっぱ、detachされたscreenてのは
純粋な意味でのデーモンじゃないけど、
契約上はデーモンとみなされるのかねぇ。
動作させるだけならたいていのレンタルサーバで可能
ただし、まともな動作速度ではない
遅いとかいうレベルではない
Web上でサービスを提供するとか正気の沙汰ではないな
936 :
nobodyさん:2008/10/01(水) 01:51:46 ID:ITudm/0s
コマンドでrails hogeとかで作ったプロジェクトに対して、そのままターミナル上でruby script/aboutとかやると正常に結果が表示されますが、
同じサーバで起動したAptana Studio(Red Rails)で作ったプロジェクトのディレクトリに移動して、ターミナル上で上記コマンドをうつと怒られます。
Missing the Rails 2.0.2 gem. というエラーメッセージ。
ruby script/aboutの結果でもRails version 2.0.2と出ていますし、Aptanaの画面上に出ているタブのRubyGemsの一覧にも、rails 2.0.2と出ています。
これはどういうことなんでしょう?
2.0.2以下のマイナーバージョンが食い違ってるとか?
環境はUbuntu 8.0.4 ServerをLAMPサーバとしてインストールし、デスクトップ環境を入れたものです。
937 :
nobodyさん:2008/10/01(水) 04:40:54 ID:Pn7kMCzS
rails2.1で,er図から(例えばA5:SQL)自動でScaffoldしてコードを生成することは可能ですか?
たくさんのテーブルを毎回
ruby script/generete migration add_hogehoge
するのはめんどくさいのですが。
>>936 IDEのエラーに自分で対応できないなら
IDEとかさっさと捨ててvimかemacsにしろ
>>937 直でscaffoldジェネレータにカラム指定して
そこからプラグインとか拾ってきてモデルに対応したerを吐けよ
ジェネレータ叩くよりer先に書く方がよっぽど面倒だろ
>>936 IDEが自前のRails 2.0.2を持ってるんじゃないの?
起動するRailsを指定する環境設定画面とかないの?
どのバージョンを使ってるかはconfig/environment.rbを見る。
941 :
940:2008/10/01(水) 08:30:34 ID:???
ごめん無視してorz
書いてあった
942 :
937:2008/10/01(水) 20:10:50 ID:Pn7kMCzS
>>938 まあそうかもしれないんですが,
すでに10テーブル以上ER図が完成しているので。
それにER図を書きながらテーブル設計する方法ができればいいなと。
(リレーションとか考えるときER図の方が把握しやすい)
944 :
936:2008/10/02(木) 02:03:08 ID:???
>>938 >IDEのエラーに自分で対応できないなら
>IDEとかさっさと捨ててvimかemacsにしろ
んー、ごもっともです…
RailsぐらいならIDEあろうがなかろうがたいして変わらないし、エディタだけで行くことにします
>>939 よくわかってませんがAptanaが見てるのはJRubyなのか?と勘ぐったりしています。
config/environment.rbを見ても2.0.2と書いてあるんですよねー
なにかわかったらまた書き込みます。
今までpythonだったんだけど
rubyって
{
}
ついたpythonだと思えばいいのかな
>>946 これはすごい
ちなみにcommon lispもrubyから使えるとすごい嬉しいのだけど
そういうのはないの?
あ
モデルのvalidateをオーバーライドして、integerのフィールドに文字が入ってたら
「○○は数字で入力してください」ってメッセージを自分でerrorsに突っ込みたいんだけど、
Hoge.new(params[:hoge])
こうRequestを読み込んだ時点で、Hogeオブジェクトの数値列(に対応するテキストボックス)に文字列が入力されてたとすると、
なんか無視されて値が入らないっぽいのは、そういう仕様なんでしょうか。
数値とか日付は自分でparams見て検証するもの?
validationは、DBに保存するに当たって満たすべき条件を書いておくもの。
インスタンス操作中に常時満たしていることが保証されるわけではない。
validationが行われるのは、valid? を呼んだとき。
更新(save)時にはsaveの内部でvalid?を呼んでいる。
newはメモリ上に作成するだけなので呼ばない。newしただけなら、自分でvalid?を呼べ。
createはnewしてsaveするというモノなのでvalid?は呼ばれる。
>>950 どうもです。いちお、そこは理解してるつもりです。
今自分が把握していないのが、数値フィールドに対応するテキストボックスに文字列を入れていた場合、
new(params[:hoge])を呼んだ直後でHoge.数値フィールドに何も入っていないのは、Railsの動作として
正しいのかな?ということです。(integerでもdatetimeでも同じでした)
POST値が数字以外ならnew(params[:hoge])の時点で自動的に読み込まれないというのであれば、
saveとかvalid?を呼んでも値が入っていないので検証のしようがないですからね
# in migration
create_table :books do |t|
t.integer :price
end
class Book < AR::Base
validates_numericality_of :price
end
としてみた。
b = Book.new(:price => 'XXX')
b.valid?
#=>false
b.price
# => 0
b.errors.first
# => ["price", "is not a number"]
いちおう、ゼロが入ってきたみたいだよ。
>>952 あー…オーバーライドしてないvalid?を呼べばエラーは拾えてるんですかー
でもそれじゃやっぱり、ユーザーが"0"を入力したのか、数字以外の文字列を入力したのかモデル側で自分で判別できないんですね
>>953 >>952 の例なら b.price_before_type_cast で 'XXX' が返るよ。
>>953 つうかあれだ。
数値なら validates_numericality_of 使うといい。
956 :
955:2008/10/05(日) 03:03:43 ID:???
>>954 *_before_type_castを知りませんでした。ありがとうございます!
validates_numericality_ofのメッセージを日本語化する方も考えてみます
validates_numericality_ofの:messageオプションを使うか、ruby-gettext-packageを導入する。
many to many 用のテーブルを作ったのですが
create_table :user_groups do |t|
t.integer :user_id, :null=>false
t.integer :group_id, :null=>false
end
ここで user_id と group_id の組が unique であることを指定するにはどうしたらいいですか
primary key じゃダメなん?
add_index
"#{user_id} #{group_id}" みたいなのを入れるカラム用意して
validates_uniquness_ofかけるとか。
963 :
955:2008/10/07(火) 00:21:18 ID:???
>>959 validates_uniqueness_of :user_id, :scope => :group_id
Redmineでssl使う場合の設定って
どうすればいいのですかね?
cssが読み込まれないたじけて
>>964 VirtualHostとかProxyBalancerとか使ってる?