【Ruby】Ruby on Rails Part8 at PHP
[2ch|▼Menu]
[1からを表示]
50:nobodyさん
09/09/15 20:41:44
>>44
やってみたのですが、<span>のときと同じように、
背景がうまく赤くならずに、textareaのときは下の方だけが赤くなったりしてしまいます・・・。

51:nobodyさん
09/09/15 20:50:52 Gt2owe1a
>>50
とりあえず、デザインの崩れは解決したんだよね?
あとはcssを調整すればなんとかなるはず。

.fieldWithErrors textarea {

background: #ff0000;
}

で、いけないかな?

52:nobodyさん
09/09/15 21:03:14
>>46
SFTPTransferWrapperの中でコケてるようだけど、うーん……
公開鍵の有無とかパスワード認証の許可状況とか?



53:nobodyさん
09/09/15 21:28:04
突然ならディレクトリの容量が足りないんじゃなくて?

54:45
09/09/16 11:14:19
ありがとうございます。

書き忘れましたが、本番鯖の設定とテスト鯖の設定の切り替えにcapistrano-extというgemを使っています。

>>52
こちらでもソースを見ていたのですが、やっぱり、SFTPがおかしいのですかね…。
サーバー側のsshd設定何か弄ったかな…うーん。

本番サーバーにwinscpのSFTPで同じユーザーで適当な10MBくらいのファイルを何度か転送してみましたが、
問題ない感じでした。
capistrano側の設定なのかな…
ほぼ同じcapistranoの設定(ドメインとssh接続portのみ異なる)でテスト環境では問題ない点が?です。

sshは公開鍵を使っていますので、鍵の設定も見直してみます。pageantを併用していたはず

>>53
昨日、サーバーでdfで確認してみましたが、転送先のディレクトリ(/home/www/my_project)含むパーティション、
及びアーカイブ一時展開先の /tmpともに問題なく空いていました。

しかし、念のためもう一度確認してみます。

55:nobodyさん
09/09/16 11:33:18
>>54
まさかとは思うが、root でログインしようとかしてないよね?
PermitRootLogin no で弾かれてるとか

56:nobodyさん
09/09/16 18:38:05
Railsでmigration使わない開発ってアリでしょうか?
使い慣れたDB設計ツールからSQL吐きたいってのは邪道ですか?

57:45
09/09/16 19:23:55
>>52
公開鍵の設定はpageantを使ってあり、capistranoで使用しているNet:sshはwindows環境では
pageantを使ってくれるみたいです。

>>53
確認したところ、ディスク残り容量は問題ありませんでした。

>>55
下記のようにdeploy.rbで設定してあり、rootではログインしていません。sshはrootログインは弾いています。
set :use_sudo, false
set :user, "www-data"

なお、上記ユーザーでsshクライアント(Poderosa3)でのログインを及び、
winscpでのsftp転送が可能なことは確認しています。

58:45
09/09/16 19:35:00
解決しました(`・ω・´)

sshdの設定がテスト環境と違っていたので、修正してみたところ無事デプロイが通るようになりました。

/etc/ssh/sshd_config にて、

ClientAliveInterval 15
ClientAliveCountMax 3

ClientAliveInterval 60

のように修正しsshdを再起動したところ、うまく行くようになりました。
他のsshクライアントでうまく行くから他の原因かと思ってました。

みなさまのおかげさまです。ありがとうございました。

59:nobodyさん
09/09/16 20:28:55
>>56
ふつうにアリだよ。


60:nobodyさん
09/09/16 21:34:48
普通にナシだろう。逆に手間かかるのがオチ

61:nobodyさん
09/09/16 21:40:58
>>60
既存DBを使うようなものは作ったことがないんですね。


62:nobodyさん
09/09/16 23:03:54 hMTblvM+
今回初めてCapistranoを使いRailsアプリケーションのデプロイ作業に取り組んでいるのですが、
cap deploy コマンドを入力し、パスワードを入力した後の処理がエラーになって先に進みません。
ネットで調べたのですがどうも原因が分からず、3日ほどハマっています。
もしよければ、以下のエラーの内容から解決方法のアドバイスを頂けないでしょうか。

クライアントマシンはWindowsVista、リポジトリはBuffaloのLinkStationにあり、サーバはFedora 10です。

C:\InstantRails\rails_apps\demo>cap deploy
* excuting `deploy'
* excuting `deploy:update'
** transaction: start
* excuting `deploy:update_code'
excuting locally: "svn info file:///L:/demo/branches/stable -rHEAD"
*** excutable `svn' not present or not in $PATH on the local system!
* excuting "svn export -q -r3 file:///L:/demo/branches/stable /home/tyn/www/demo/releases/20090916124357 && (echo 3 > /home/tyn/www/demo/releases/20090916124357/REVISION)"
servers: ["tyn-market.com"]
Password:
[tyn-market.com] excuting command
** [tyn-market.com :: err] svn: URL 文字化けしている ra_local 文字化けしている
** [tyn-market.com :: err] svn: 文字化けしている 'file:///L:/demo/branches/stable' 文字化けしている
command finished
*** [deploy:update_code] rolling back
* excuting "rm -rf /home/tyn/www/demo/releases/20090916124357; true"
servers: ["tyn-market.com"]
[tyn-market.com] executing command
command finished
failed: "sh -c 'svn export -q -r3 file:///L:/demo/branches/stable /home/tyn/www/demo/releases/20090916124357 && (echo 3 > /home/tyn/www/demo/releases/20090916124357/REVISION)'" on tyn-market.com

エラーメッセージの中に文字化けしている個所がいくつかあります。

63:nobodyさん
09/09/16 23:05:46 hMTblvM+
エラーメッセージは以上です。
よろしくお願い致します。


64:nobodyさん
09/09/16 23:35:15
>>60
幸せな環境で仕事してるんだろうなぁ。羨まし

65:nobodyさん
09/09/16 23:59:26
>>62

excutable `svn' not present or not in $PATH on the local system!
ってことじゃんか?
ローカルとリモートでsvnが使える?




66:nobodyさん
09/09/17 00:06:00
>>62
> ** [tyn-market.com :: err] svn: URL 文字化けしている ra_local 文字化けしている
> ** [tyn-market.com :: err] svn: 文字化けしている 'file:///L:/demo/branches/stable' 文字化けしている

これ、ディプロイ先でチェックアウトしようとしたときにsvnが受け取っている
リポジトリパスなんだが、たぶんローカルでチェックアウトするときのをそのまま
使ってるよね?



67:nobodyさん
09/09/17 10:14:22 AsBV+oBz
vim-railsで変数の定義部にジャンプする機能ってないですかねぇ??
統合開発環境であるような。
そもそもvimではそういうのって無理なのかしらん。
エディタの話になってしまって申し訳ないですが・・詳しい方いたら教えていただけると幸いです。

68:nobodyさん
09/09/17 10:28:36
>>62
サーバー側でsvnからチェックアウトしようとして失敗しているのかな?
もし、サーバーからアクセスできないsvnリポジトリを使っているなら(例えば、ローカルにあるとか)、
 set :deploy_via, :copy
を指定すれば、
ローカルでsvnからチェックアウト→tar.gzで固めて→sftpでデプロイ先に転送→デプロイ先に解凍
してくれる。

以下は記述例:
set :repository, "svn+ssh://my_svn/my_project/trunk" #(例) ローカルからアクセス可能なリポジトリURL
set :deploy_to, "/home/www/#{application}" #(例)デプロイ先のディレクトリ
set :deploy_via, :copy

69:nobodyさん
09/09/17 11:19:40
railsで80000pv/日のサイト運営したいんですけど月何万ほどかかりますか?

70:nobodyさん
09/09/17 11:58:28
PHP の 3 倍くらいかな

71:nobodyさん
09/09/17 12:27:35
80000pv/日のコンテンツ(ネタ)を持っているだけでうらやましい
エロサイトかなにか?(悪く行っているのではありません)

技術を身につけても、プライベートではサイトを開くネタがないよ。
(本業が SE なので、仕事では顧客から請け負った業務イントラを Rails で作っているけど)

72:nobodyさん
09/09/17 15:16:06
>>67
タグで飛べばいいじゃないの?

73:nobodyさん
09/09/17 15:19:26 WSgiLhix
>>65, 66, 68
回答有り難うございます。Railsデプロイ読みながらやっているのですが、バージョン管理システムを使うのも初めてなものでして。。
"リモート"がリポジトリのあるLinkStationで、"ローカル"が開発作業をしているWindowsマシンで、"サーバ側"がデプロイ先のLinuxマシンという理解で良いでしょうか?

ご指摘の通りサーバ側からLinkStationにアクセスできる設定にはしておらず、ローカルでチェックアウトするときのパスがそのまま使えると思っていました。
ローカルのSubversionを使ってデプロイ先のサーバにアクセスしていると勘違いしていました。

サーバ側のSubversionは何か設定やリポジトリの作成??が必要なのでしょうか。手元にある書籍では殆ど触れられておらず、今ひとつ全体像がつかめずにいます。
何かあれば助言頂けないでしょうか。よろしくお願いします。

set :deploy_via, :copy も試してみようと思います。

74:nobodyさん
09/09/17 17:54:24
サーバ側でsmbclientなどを使ってLinkStationのファイルを共有する設定にしても
よさそうね。


75:nobodyさん
09/09/17 18:59:24
Rails3.0っていつ出るんだい?

76:nobodyさん
09/09/17 19:40:34
年内にはβに到達しないと予測。


77:nobodyさん
09/09/17 19:57:25
>>73
Fedoraの方にログインして
ssh でも http でも samba でもなんでもいいからやりやすいので LinkStation にアクセスできるようにして
$ svn ls リポジトリ
が通ればOK
set :deploy_via, :copy はサーバ側を弄らせてもらえない場合の最終手段かな

78:nobodyさん
09/09/18 12:52:28 ITCAk7dP
これからrailsやろうと思ってる者です。
そして、インストールの時点でコケてしまいました。

$gem install rails
ERROR: While executing gem ... (Zlib::BufError)
  buffer error

なので、gemをアップデートしました。

$gem update --system
$gem update
windows再起動

$rails install rails
ERROR: While executing gem ... (Zlib::BufError)
  buffer error

・・・。
この場合、どうすればインストール出来ますか?
ぶしつけですみませんが、教えて!エロい人!

79:nobodyさん
09/09/18 12:56:06 ITCAk7dP
>>78です。
情報が足りてませんでした。

Windows XP SP3
ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]
gem 1.3.5

です。

80:nobodyさん
09/09/18 13:16:48
zlib入れろ

81:nobodyさん
09/09/18 13:56:09 ITCAk7dP
>>80 返信ありがとうございます。
調べてみたところ、zlibが存在してるんですが、別口で入れるものでしょうか?

C:\ruby\bin>ls zlib*
zlib1.dll

82:nobodyさん
09/09/18 14:50:59 LN3EfzwI
>>74, 77
smbclientで共有してみましたが cap deploy 失敗してしまいました。

65さんのおっしゃる
>>excutable `svn' not present or not in $PATH on the local system!

このエラーメッセージが毎回出現します。意味がよく分からないのですが、どういうことでしょうか?
重ね重ねすみません。


83:nobodyさん
09/09/18 16:35:16
>>82
svn コマンドが PATH から見つからないって言っているんじゃないの?

84:nobodyさん
09/09/18 17:26:03 LN3EfzwI
>>83
WindowsでもLinuxの方でもsvnコマンドは実行出来るのですが、まだ何かパスを通さなければいけないのでしょうか?
それか、LinkStationにもSubversionをインストールしなければならないとかでしょうか。。

85:nobodyさん
09/09/18 17:46:12
>>84
ディプロイ先にログイン(svnを実行できるケース)して
$ echo $PATH
$ which svn

次に、capistranoから
run 'echo $PATH'
してみたらどうなる?


86:nobodyさん
09/09/18 18:21:16 LN3EfzwI
>>85
$ echo $PATH
/usr/lib/qt-3.3/bin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/tyn/bin

$ which svn
/usr/bin/svn

以上コマンド入力の結果です。

>>次に、capistranoから run 'echo $PATH' してみたらどうなる?
deploy.rbに run 'echo $PATH' というコードを記述すればよいのでしょうか?
間違っていたらごめんなさい。

87:nobodyさん
09/09/18 18:36:03
あー、
$ cap invoke COMMAND='echo $PATH'
でいいや。と思ったが、/usr/bin/svn なら cap から実行したときも
見える可能性が高いな。

> excutable `svn' not present or not in $PATH on the local system!

んん、ローカル!?


88:nobodyさん
09/09/18 18:51:18
>>84
> それか、LinkStationにもSubversionをインストールしなければならないとかでしょうか。。

え? LinkStation にリポジトリがあるって言ってなかったか?

89:nobodyさん
09/09/18 19:16:52
>>84
>それか、LinkStationにもSubversionをインストールしなければならないとかでしょうか。。

file:でやってるなら不要。



90:nobodyさん
09/09/18 19:19:19 LN3EfzwI
>>88
mkdir L:\demo
svnadmin create L:\demo

以上のコマンドを入力してリポジトリを作成しました。Windowsマシンからアクセスしているので、
LinkStationにはimportしたファイルしか置いてないです。。

91:nobodyさん
09/09/18 19:20:45
L:はLinkStationで公開しているディスクをWindowsで見たときの
ドライブレターということでよろしいか?


92:nobodyさん
09/09/18 19:25:55 LN3EfzwI
>>91
はい。

93:nobodyさん
09/09/19 01:20:18
ruby script/generate model Blog name:string user_id:integer

generateスクリプトからマイグレーションファイルを作成する場合、カラムは型しか指定できないのですか?
ググってみてもドキュメント読んでもこんな感じの例しかない。
カラムごとに{:null => false, :limit => 100}みたいなオプションが使えると便利なのに。

94:nobodyさん
09/09/19 04:02:31
>>93
generatorのテンプレート見れば一発でわかるが、名前と型のみ。
scaffoldのビューで必要な情報しか引数に取るようになってない。


95:nobodyさん
09/09/19 05:19:30
>>93
> カラムごとに{:null => false, :limit => 100}みたいなオプションが使えると便利
全然便利じゃないと思うぞそれ


96:nobodyさん
09/09/19 10:40:16
回答ありがとうございます。

>>94
なるほど〜やっぱりダメなんですね。
>>95
便利じゃないですか?
generate実行した後に、いつもマイグレーションファイルを修正するってのはRailsの精神に反してる気がしますけど。

97:nobodyさん
09/09/19 10:58:04
>>96
じゃあ仮にカラムが20〜30あると仮定して
想定されるコマンドラインを頑張って書いてみてくれw

98:nobodyさん
09/09/19 11:11:46
generate文で指定するのが大変な時は省略してデフォルト値にすればいいだけじゃないですか?
カラムが2〜3個しかないようなテーブルだってよくあることだし、そんな時はgenerate文で全部指定したくなる。
きめ細かく設定できるけど省略すればデフォルト値が用意されてるってのがRailsのスタイルだと思ってた。

99:nobodyさん
09/09/19 11:36:25
そう思うなら直してpull requestでも投げとけ。


100:nobodyさん
09/09/19 11:49:47
migrationを極力シンプルにして、バリデーションはモデルだけに書く派なので
今のジェネレータでとくに困ってないな

101:nobodyさん
09/09/19 12:01:17
>>98
そんな generate が欲しいなら勝手に改造したら?
ただの rubyスクリプトだよ

で、すべての型の妥当なデフォルト値とやらを考えてみたらいいよ

102:nobodyさん
09/09/19 12:24:18
型をデフォルトにするなんて誰も言ってないけど

103:nobodyさん
09/09/19 12:35:58
確かに「誰も」言ってないw

104:nobodyさん
09/09/19 12:47:51
「すべての型におけるオプションの妥当なデフォルト値」くらいか?


105:nobodyさん
09/09/19 13:40:07
>>104
そう、そんな感じ。言い方が悪かった。

ruby script/generate model Book title(:string, null=>false, limit=>50) author(:string, limit=>50) description:string

これで
title・・・null不可、上限50文字
author・・・null可(デフォルト)、上限50文字
descriptionはnull可(デフォルト)、 上限255文字(デフォルト)
みたいに定義できたら便利だと思う。

106:nobodyさん
09/09/19 18:39:42
>>105
全く便利じゃない

107:nobodyさん
09/09/19 18:41:51
generate文(笑)
DSL じゃねえっつーの

108:nobodyさん
09/09/19 18:51:00
>>105
シェルのメタキャラクタがむき出しなんですけど

109:nobodyさん
09/09/19 19:04:05
個人的には>>105の考え方に同意。まぁ人によって感じ方は違うだろうけど。

110:nobodyさん
09/09/19 21:29:58
>>105
django

111:nobodyさん
09/09/20 01:35:43
↓こんな感じで、itemモデルのmy_text要素を編集画面で使ってるのですが

<% form_for(@item) do |f| %>
  <%= f.text_area, :my_text %>
<% end %>

このmy_text要素の「<br/>」という文字列を改行(\n)に置換したいのですが、
どうしたらいいでしょうか…。
そのmy_text内に<br/>を保持させるなというのは、要件なので無理です。

↓こう書き換えれば一応うごくのですが・・・もっとスマートにできるのかなぁと・・・
<%= f.text_area :my_text, {:value => f.object["my_text"].gsub("<br\/>", "\n") } %>



112:nobodyさん
09/09/20 03:54:52
ヘルパーメソッドに変換用のメソッド作れば?

113:nobodyさん
09/09/20 11:02:30
最初からHTMLを含まないテキストにしといて
表示するときにsimple_formatやauto_linkを使う手も。

114:nobodyさん
09/09/20 13:07:43
理想は、データは本来の姿(HTML用に整形済みとかでない)で保持して
出力時に必要な処理をすることだけど、

> そのmy_text内に<br/>を保持させるなというのは、要件なので無理です。

「<br/>を保持させるなというのは、(保持するという)要件なので無理」
という意味か。



115:nobodyさん
09/09/21 12:29:55
その要件自体無理なので実装不能で終了したら。

116:nobodyさん
09/09/21 12:59:48
ここまでするくらいなら >>111 で十分という。

class BrSanitizer < HTML::FullSanitizer
  def process_node(node, result, options)
    if node.class == HTML::Text
      result << node.to_s
    elsif node.class == HTML::Tag && node.name == 'br'
      result << "¥n"
    end
  end
end

こんなサニタイザを作って、f.text_area_br2n とかいうメソッドの内部で
これを利用して整形する方法。


117:nobodyさん
09/09/24 18:42:36
Railsでブログ(のようなもの)のプレビュー機能を実装したいのですが、足がかりのようなものはありませんでしょうか?
CRUDの編集画面で、データの編集した中身を確定する「送信する」ボタンのほかに、
「プレビュー」ボタンがあるイメージです。

どのように実装したものか?と…。

例えば、form_forで指定した「送信する」の他の「プレビュー」用のURLに送る方法はどうしたものでしょうか?

環境は、Ruby 1.8.7 Rails 2.3.4です。

118:nobodyさん
09/09/24 22:04:34
submitの値で場合分けするんじゃない?
それとも、1つのフォームに複数のアクションを付けられるんだっけ?


119:nobodyさん
09/09/24 22:27:45
ajaxとかどうでしょうか。
フォーム全部divで囲っておいて、プレビューボタンで表示
フォームはその時隠すようにする


120:117
09/09/25 08:15:42
>>118
なるほど…それなら、ボタン2つつけても、プレビュー用の表示ルーチンに持ってこられますね。

>>119
Redmineとか、MediaMarkerみたいなリアルタイムでポコッとプレビューが出現する感じでしょうか?

RailsでのAjaxはまだ全然やっていないので調べてみます。
form_for内のデータをそのまま渡せるのかなーとか疑問があったり・・・

121:nobodyさん
09/09/25 17:00:44
ajaxならフォーム全体でも、一部でも問題なくpostできるけど


122:nobodyさん
09/09/25 20:29:53
困っていることがあります。
論理削除プラグインのacts_as_paranoidと、階層構造を1つのformで保存したりするattribute_fu プラグイン
を導入しているのですが、

モデルHoge
 acts_as_paranoid
 has_many :foobars, :dependent => :destroy, :attributes => true
モデルFoobar
 acts_as_paranoid
 belongs_to :hoge
などとというように書いておくと、
Hogeをdestroyで消した時に、:dependent => :destroyにて関連付けたFoobar郡を同時に論理削除してくれるのですが、
中で freezeをかましているようでして、
:attributes => true をつけて attribute_fu の管理下においた状態だと、
Hogeをsave時に freezeされたfoobars を保存しようとして、

 can't modify frozen hash

などとエラーがでます orz
こういう状況を回避する方法はないのでしょうか?

destroyのときだけ、:attributes => true をなくす、というか、
attribute_fuで base.class_eval されている中の
 after_update :save_managed_associations
のフック処理(この中で該当のエラーが起きている)を回避する方法といいますか…。

acts_as_paranoidは下記のものを、
technoweenie's acts_as_paranoid at master - GitHub
URLリンク(github.com)
attribute_fuは下記のものを利用しています。
giraffesoft's attribute_fu at master - GitHub
URLリンク(github.com)

123:nobodyさん
09/09/25 23:26:44
rails1.2向けに書かれた本で、勉強してるのですが
インスコしたrailsが2.1.1ですた。エラーでて気づきました。
scaffoldの作法が変わってるんですね。

1.2なrailsをインストして、勉強したほうがいいですかね?


124:nobodyさん
09/09/25 23:37:55
>>123
バージョンが違うと、また違うところでつまづくよ。
とりあえず、1.2のrailsをインストールして本を1冊終わらせる。
その後、最新のRailsでアプリを作っていくほうがいいと思う。


125:nobodyさん
09/09/25 23:49:30
>>122
Railsの新しいの使ってんなら find のデフォルト値設定できたはずだから
1系用に苦し紛れに作られたような acts_as_paranoid はもう用無しじゃね?
と、適当にレスしてみる

126:nobodyさん
09/09/25 23:50:52
ラジャ!

127:123
09/09/26 00:17:09
rails1.0向けだったわ・・
新しい本買うかな・・・

128:nobodyさん
09/09/26 07:37:14
>>127
1.0なのか・・・
たしか、2.3対応の本が出ていたと思うので、それを買うほうがいいかもね。
「Ruby on Rails 2」ではじめるWebアプリケーション開発
ってやつ。
中身はちゃんと見てないので、良い本かは分からないけど。

129:nobodyさん
09/09/26 11:20:40
2006年の本だが……、arton氏の
「かんたんRuby on RailsでWebアプリケーション開発」
は、特定のバージョンのRailsを本に添付して、それに沿って
教えるという体裁だったな。

新しめのでも似たような本はあるかもしれない。


130:nobodyさん
09/09/26 11:23:52
>>122

> destroyのときだけ、:attributes => true をなくす
ではないけれど、フリーズ状態でなければ実行というアプローチで、

alias_method_chain :save_managed_associations, :freeze_check

def save_managed_associations_with_freeze_check
  save_managed_associations_without_freeze_check unless frozen?
end

とか出来ないかね


131:nobodyさん
09/09/26 14:12:05
なっっげえええええええ

132:nobodyさん
09/09/26 14:46:53
>>128
おいおい工学社のRails本を薦めるな。中身をちゃんと見てくれよ。

133:nobodyさん
09/09/27 04:32:29
エラーが出たときだけproduction.logに出力させるのはどうすればいいのでしょうか?
今はすべてのアクセスが記録されてすぐ肥大してしまいます
一応毎日ログローテーションはしていますが、エラーだけ残せばサーバーリソースも節約できると考えました
よろしくお願いします

134:nobodyさん
09/09/27 10:01:47 u6jeeNBu
environments/production.rbの中でconfig.log_level = :warn

135:nobodyさん
09/09/27 14:40:48 gn9S1exE
Apache + Passenger でRailsプロジェクトを自宅サーバで公開しようと思い、Passengerをインストールしてhttpd.confを設定したのですが、プロジェクトのページが表示されません。
どうすればよいでしょうか?質問が抽象的ですいません。

136:nobodyさん
09/09/27 14:45:56
うん。抽象的すぎる。それで分かればエスパー。
Passengerのインストール後、「以下の設定をせよ」と出てくるもの
だけでは設定終わらないよ。



137:nobodyさん
09/09/27 17:21:16
>>135
抽象的になっちゃうけど、
Passengerのインストールかhttpd.confの設定が間違っているんだと思うんで
そこらへん見直すといいよ。

138:nobodyさん
09/09/28 20:03:00
画像うpできるシステム作ってるんだけど、画像をバイナリでDBに持たすのと、
実ファイルとして保存するの、どっちがお好み?

139:nobodyさん
09/09/28 21:16:33
業務アプリで、サーバを冗長化する予定があるなら悩む。

個人の趣味では面倒なのでファイルで持つ。アクセス制御とか出来るように、
DocumentRootには置かずに何らかのアクション経由で提供する。



140:nobodyさん
09/09/28 23:15:21
>>139
ありがとうございます。
趣味アプリなので悩みましたが、やっぱdbにしますた。

↓この方法で、初回読み込み時はDBから、2回目はtempファイルから…という
考え方がすばらしい。
URLリンク(d.hatena.ne.jp)

141:nobodyさん
09/09/28 23:29:56
ファイルがたくさん追加される可能性があるなら、
ディレクトリをわけるのを忘れずにね

142:nobodyさん
09/09/28 23:50:00
>>141
ファイル名は一意になるのですが、ディレクトリ分けた方がいいんですかね?


143:nobodyさん
09/09/28 23:54:37
一般に、ディレクトリってのは、内包するファイルの数が増えると
パフォーマンスが落ちるのだよ。
ファイルデータのmd5sumの最初の2文字くらいで2層ディレクトリ
を掘るのをよく見るね。

144:nobodyさん
09/09/29 00:07:29
5万ファイルくらいtouchしてからlsしてみるとわかるよ。

145:nobodyさん
09/09/29 00:15:57
>>143-144
ありがとうございます。
非常に勉強になりました。

146:nobodyさん
09/09/29 15:49:52
>>134
ありがとうございました!

147:nobodyさん
09/09/29 18:24:03
text_field_tagやurl_forなどの初めからあるヘルパをちょっと拡張したい場合
どうやるのがいいのでしょうか。

module MobileFormHelper
 def self.included(klass)
  klass.class_eval do
   alias_method_chain :text_field_tag, :mobile
  end
 end
 def text_field_tag_with_mobile(name, value = nil, options = {})
  options = options.dup
  mobile_format = options[:mobile_format]
  if mobile_format
   options[:istyle] = ...
   ...
   ...
  end
  text_field_tag_without_mobile(name, value, options)
 end
end


こんなかんじでやってんだがうまくできないすっすー

148:nobodyさん
09/09/29 19:19:13
>>139
> DocumentRootには置かずに何らかのアクション経由で提供する。

これはつまり、public以下(例えば public/images/upload )には置かず、
upload/ など見えないところにファイルを置いて、
コントローラーで画像を読み込んで返すようにするってことでしょうか?
アクセス制限が使えるけど、Rails返すと重くならないものかな?

149:nobodyさん
09/10/02 07:08:55
Rails 3.0が1.8.7よりも前のバージョンをサポートしないと明言した

150:nobodyさん
09/10/02 19:56:55 khUy0zA7
1.8.6のHashはバグ持ちだからか

151:nobodyさん
09/10/02 20:13:30
>>150
なんかあったっけ?

152:nobodyさん
09/10/04 00:57:03 jQSUCkZW
URLリンク(paulbarry.com)

1.8.7以降というのは半月前に公になっていたわけね

153:nobodyさん
09/10/04 01:47:54
1.9.1+Rails2.3.2でアプリを作ったのだが、
2.3.4にしたら動かなくなってしまった。2.3.3では問題なかったのだが。
US-ASCIIなんたらとか言ってるから文字コードか。
はよ3.0出ろよ。出たら作りかえるから。

154:nobodyさん
09/10/04 12:07:51
Rails 3 Update by Yehuda Katz on Vimeo
URLリンク(vimeo.com)

155:nobodyさん
09/10/04 22:12:35
ruby入門書を今日読み終えたおれに、最適なRoR入門書を教えてください。

156:nobodyさん
09/10/04 22:39:39 ZAPGL++U
さくらインターネットのレンタルサーバーにruby on rails環境を構築しようとあれこれ試しています。
(参考URL URLリンク(nyon2.net) )

sqlite3-rubyのインストールで躓きました。gemのインストールが失敗します
解決方法をご教授ください。

157:156
09/10/04 22:42:24 ZAPGL++U
量が多いため2つにわけました。実行結果は以下の通りです。
よろしくお願いします。

%setenv RB_USER_INSTALL true
%gem18 install sqlite3-ruby
Building native extensions. This could take a while...
ERROR: Error installing sqlite3-ruby:
ERROR: Failed to build gem native extension.

/usr/local/bin/ruby18 extconf.rb install sqlite3-ruby
checking for fdatasync() in -lrt... no
checking for sqlite3.h... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.

Provided configuration options:
〜オプションのため略しました。〜

Gem files will remain installed in /home/blueee/lib/ruby/gem/gems/sqlite3-ruby-1.2.5 for inspection.
Results logged to /home/blueee/lib/ruby/gem/gems/sqlite3-ruby-1.2.5/ext/sqlite3_api/gem_make.out


158:nobodyさん
09/10/04 23:40:56
sqlite3 のコンパイルに必要なヘッダとか、
あとsqlite3自体が入っていることを確認するべき。


159:156
09/10/05 01:44:55 tqFfwgsk
早速ありがとうございます。

確認したところsqlite3自体は入っています。
%sqlite3 --version
3.6.14.2

sqlite3.hやライブラリも入っているようです。
%ll /usr/local/include/sqlite3.h
-rw-r--r-- 1 root wheel 254446 Jun 17 12:41 /usr/local/include/sqlite3.h

%ll /usr/local/lib/libsqlite3.so
lrwxr-xr-x 1 root wheel 15 Jun 17 12:41 /usr/local/lib/libsqlite3.so -> libsqlite3.so.8


160:nobodyさん
09/10/05 01:50:05
じゃあ /usr/local がgem install時に使われない状態なんだろうね。

$ gem install sqlite3-ruby -- --with-sqlite3-dir=/usr/local
かな。
--with-sqlite3-lib とか --with-sqlite3-include もあるらしい。


161:nobodyさん
09/10/05 01:55:19
「省略した」とあるオプションの中に>>160で書いたやつあるはずなんだよね。



162:156
09/10/05 03:26:41 tqFfwgsk
言われた通りやってみたらできました。
ありがとうございます!

%setenv RB_USER_INSTALL true
%gem18 install sqlite3-ruby -- --with-sqlite3-dir=/usr/local
Building native extensions. This could take a while...
Successfully installed sqlite3-ruby-1.2.5
1 gem installed

これってsqlite3のヘッダなどのパスがgemのデフォルトと違ってたってことなんですかね?

163:nobodyさん
09/10/05 08:49:14
unix系でデフォルトなんて無いけどな。環境によって違うのが普通。
自分で鯖建てたりして、もうちょっと勉強したほうが。

164:nobodyさん
09/10/05 12:41:34
prefixはデフォルトで探すようになってるはずなんだが。
つまりruby自身が/usr/localにインストールされてるなら/usr/localは見てるはず。


165:nobodyさん
09/10/05 15:58:08 IPNAD5I/
Subversionを使ってコミット/チェックアウトする時にpublicフォルダのサブフォルダのいくつかを
更新しないようにしたいのですが、そのようなコマンドはあるでしょうか。

166:nobodyさん
09/10/05 16:07:22
スレリンク(tech板)
Subversion r11

167:nobodyさん
09/10/05 19:49:34 yk3Qebit
windowsで開発したアプリケーションをlinuxで運用したいんですが
どうすれば良いでしょうか?

168:nobodyさん
09/10/05 19:57:45
>>167
日本語でok

169:nobodyさん
09/10/05 20:13:31
ウィンドウズで開発したアプリケーションをリナックススで運用したいという意味です

170:nobodyさん
09/10/05 20:21:28
>>169
いや、確かに英単語がカタカナにはなっているけどさwww

171:nobodyさん
09/10/05 20:25:53
クススって馬鹿にされてるみたいだ

172:nobodyさん
09/10/05 21:51:18
RubyとRailsの実行環境さえ用意できればあとはwindowsとかわらんよ

173:nobodyさん
09/10/05 23:00:27
Windowsで開発したRailsアプリケーションでもLinux用の特別なデプロイは
必要ないと考えてよろしいのでしょうか?

174:nobodyさん
09/10/06 00:09:18
特別なデプロイってのが意味分からん
何が気になってるのか具体的に言ってよ

175:nobodyさん
09/10/06 00:19:49
あ、すみません
簡単に言うとWindowsで書いたソースコードをLinuxのルートにコピーするだけで
動くんでしょうか?

176:nobodyさん
09/10/06 00:40:32
環境言ってくれなきゃ何もアドバイスしようが無いんだってば
Webサーバーは使うの?RubyとRailsのインストールと設定は終わってるの?DBは?

177:nobodyさん
09/10/06 00:59:22
何度もすみません

開発環境はOSがWindowsVistaとXP。NetBeansを使おうと思っています。
実行環境はOSがUbuntu9.04。
開発実行環境ともRubyのバージョンは1.8.7、Railsは2.3.2です。
WebServerはApacheです。
DBはsqliteかMySQLどちらが良いか検討中です。

178:nobodyさん
09/10/06 01:29:31
> Linuxのルートにコピーするだけ
ってほど簡単ではないけど普通はそのままのコードで動くよ。

あなたの文章からにじみ出てくる理解度だと、LinuxでRails環境を
作った経験があるひとに初めの1回だけお願いすることをオススメするよ。



179:nobodyさん
09/10/06 01:37:49
ありがとうございます。

残念ながらシュミグラマのため、周囲にプログラミング出来る人や
Linuxに習熟した人は1人もおりません。
一応Ubuntu専用機および仮想マシン上でRails環境を自力で構築して
Linux状でScaffoldしたテストプログラムが正常に動くことは確認しております。
(Railsのバージョンで手こずりましたが)
が、指摘された件に関してはかなり不安があるのも事実なので
本格的な開発に入る前に質問させて貰いました。
まだたのしいRubyとRailsレシピを一回ずつ読んだ程度なので
もう少し準備しようと思います。

180:nobodyさん
09/10/06 02:03:27
自力でLinux上のRails環境を作れたなら時間をかけて
頑張れば何とかできるのではないでしょうか。

Windowsでつくったアプリケーションも普通は問題なく動きます。
気をつけるのは、
・文字コードはUTF8
・改行コードに気をつける
・ファイルシステムのディレクトリ区切り文字
・ファイルのテキスト/バイナリモード
・その他Windows依存のこと
ぐらいかなあ。

頑張ってください。


181:nobodyさん
09/10/06 02:33:02
お節介だけど、サイト構築だけが目的の趣味プログラマならそれでいいけど
プログラミングを勉強したいという趣味プログラマならLinux環境で開発することをお勧めする。

182:nobodyさん
09/10/06 02:45:11
I think so

183:nobodyさん
09/10/06 07:38:34
>>181
ターミナルへのお誘いきたぁ

184:nobodyさん
09/10/06 08:36:54
>>180
重ね重ね、ありがとうございました。

>>181
時間と環境と勘案して検討してみます。

185:nobodyさん
09/10/06 09:45:34
Poderosaおすすめ、Puttyもいいけど。

186:nobodyさん
09/10/06 11:31:18
UTF-8 TeraTerm だろ JK

Putty は、いろんな便利な機能があるけど、いまいちなじめない。

187:nobodyさん
09/10/06 13:06:28
Linux環境で開発した方が結果的に時間も短くて済むよ

188:nobodyさん
09/10/06 14:21:23
いやそれは無いわ
emacs暦8年ぐらいだけどeclipse開発の方が効率は上だぜ

189:nobodyさん
09/10/06 14:41:07
WindowsのRuby遅いからなぁ
ちょっとした事も遅いから、Linuxの方が良いな

190:nobodyさん
09/10/06 20:25:04
NetBeansで開発だからjrubyだよ
ネイティブ版使うより安定した環境だと思う
使ったことないけど

191:nobodyさん
09/10/06 20:32:13
ねっとびーんずって何?美味しそう

192:nobodyさん
09/10/06 22:28:07
Windowsで開発なんて難易度高すぎる…

193:nobodyさん
09/10/06 22:34:04
俺の想像ではあるが、10年後、20年後にはCUIでの開発ってレアな
存在になっていると思うぞ。

194:nobodyさん
09/10/06 22:38:03
>>191
UTF-8でいうと仙豆です

195:nobodyさん
09/10/06 22:58:26
CUIコンパイラも新しくなるんだろうか?

196:nobodyさん
09/10/07 05:36:01
ここって質問して良いのかな。

passengerをインストールしてとりあえずhttpd.confにLoadModuleとPassengerRoot
とPassengerRuby書いてApache再起動したら(バーチャルホストは書いてない)、
Apacheがセグメンテーション違反で落ちるようになりました。
エラーログ見ると「PassengerRoot configuration option is not specified」と
なっているのですがPassengerRootはコピペしただけ。何となくわざと間違った
パス指定してみたら「passenger-spawn-serverがないよ!」ってエラーが出たん
ですが、なぜ正しいパスだとエラーが違うのか……
あと気になったのは間違ったパス指定するとpassenger以下のlibにpassenger-spawn-server
探しに行ってるんですが、passenger-spawn-serverがあるのはbinの中だよ……
こんなんでハマった人、他にいますか?
いちおう、rails2.3、passenger2.2.5。apacheは2.0.46です。

197:nobodyさん
09/10/07 08:15:30
少なくとも設定が間違っているならプログラムがエラーを検出して
起動に失敗したりするはずで、それがセグメンテーション違反で落ち
てしまうのは、プログラム自体のバグかモジュール作りで失敗しているか。




198:nobodyさん
09/10/07 08:27:32
教祖がデビアンで開発してるから、リナクスで開発したほうが簡単だよ。
わざわざウィンドウズで苦労しなくても。

インストールミスだな。
インストール方法でも張ったら誰か添削してくれるかもな。


スレリンク(php板)
△▲ WebProg 初心者の質問 Part19 ▼▽
スレリンク(php板)
くだらない質問でもど偉そうに聞いていいスレ
スレリンク(php板)
初心的な質問なのですが・・・・

199:nobodyさん
09/10/07 11:13:28
>インストール方法

了解。ってもごく普通に
gem install passenger
して
passenger-install-apache-module
しただけです。ちなみにwindowsじゃなくてlinux。red hat enterprise es 3だけどです。
今日は関係すると思われるファイル全部消して1からやり直したけど失敗。全力で諦めムードです。レスくれた人、dクス。

200:199
09/10/07 11:14:38
だけどです、ってなんだ。焦るな俺。

201:nobodyさん
09/10/07 11:35:16
その手の実行時エラーでありがちなミスで、
ビルド時に使用したライブラリと、実行時に読み込むライブラリが異なる、ってのがあるけど、
その辺は確認したの?。lddとか、ld.conf関連変数をチェックするとか。

あるいは自分で関連ライブラリを変なとこに入れてない? /home とか /usr/local/hoge とかに。
で、ビルドに使ったユーザアカウントだけLD_LIBARY_PATHとかを設定して、
Apacheのプロセスにライブラリの場所を教えずに実行しようとしてるとか?


202:nobodyさん
09/10/07 11:36:21
ld.confってなんだ。ld.so関連変数だ。焦るな俺


203:nobodyさん
09/10/07 17:53:45 3DfRmTbM
自宅と職場で開発したいんですけどPCがwindowsで
リモートとかはできない環境です。
C#はプロジェクトフォルダごとUSBメモリにコピーして
両方で使用してたんですが、Railsだとどうするのが簡単でしょうか?

204:nobodyさん
09/10/07 18:33:55
まえにJRuby + JasperReport で帳票印刷できんかなぁ、とか言ってたモンだけど...
結果、まぁ出来そう。

ただCRailsのバックグランドでJRubyを動かす場合、JRubyにはforkがないんで、Backgroundrbは動かない。
JRuby対応のbackgroundrb代替品を探すか、自前のDRbサーバをrunnerで動かすかする。
kovyrin-loopsっていうのがgithubにあるけど、これはJrubyで普通に動く。
まぁ中身はシンプルってか大したことはしてないけど。

>>203
なんらかのSCMのリポジトリをUSBメモリに入れて持ち回せば?


205:nobodyさん
09/10/07 19:36:32
passenger-spawn-server は自分で作らないとだめ
空のファイルで実行権限があればおk
だった気がする

206:nobodyさん
09/10/08 00:33:25
passenger-spawn-server を自分で作ったことなんて一度もねえよ

207:nobodyさん
09/10/08 01:09:08
rails.vimのメジャーバージョンアップ

rails.vim - Ruby on Rails: easy file navigation, enhanced syntax highlighting, and more : vim online
URLリンク(www.vim.org)
rails.vim script version4.0

208:nobodyさん
09/10/08 04:13:15
emacsでrubyとかrails補完できるものってないの?
ruby-mode.elとかってインデントとか色を制御するだけだよね?

209:nobodyさん
09/10/08 10:42:37
>>134
>environments/production.rbの中でconfig.log_level = :warn
をやったのですが、相変わらずすべてのログが記録されてました…

config/environment.rbにもconfig.log_level = :warn してみましたが変わりません
passenger使ってるのですが、関係ありますでしょうか?

210:nobodyさん
09/10/08 12:35:05
webserver再起動した?

211:nobodyさん
09/10/08 15:36:17
>>203
mac買え、ノートタイプでもいいから
最初からインストールされてて優秀なエディタTextMateもあるから初心者にとって超簡単。

212:nobodyさん
09/10/08 16:12:20
補足。
・(Railsが)最初からインストールされてて
・優秀なエディタTextMateも(シェアウェアで)ある


213:nobodyさん
09/10/09 00:21:52
>>208
あるよ

214:nobodyさん
09/10/09 03:10:21
railsって10分でブログが作れるらしいね。
ということは相対的に考えて100万ぐらいの軽い案件は2〜3日で出来るわけか
1週間で1案件として月400万、年収5000万は堅いな
夢ひろがりんぐ!

215:nobodyさん
09/10/09 07:49:14
>>214
おめーさてはバカだろ?

216:nobodyさん
09/10/09 11:50:00
>>215
おい、スルーしろ
単なる釣り針に引っかかるんじゃねYO

217:nobodyさん
09/10/09 17:25:38
AWDwR3rdの邦訳はいつ出るのかな.
原著発売日にはすでに日本語への翻訳が始まってると
著者が書いてたけど,それ以降なにもわからんのです

218:nobodyさん
09/10/09 17:32:15
3rd は初期 Rails 2 だから、今更出るのは問題あるからじゃないかな。

219:nobodyさん
09/10/10 08:11:21
Railsやるのに英語避けられないから
両方の勉強のつもりで読んだら?

220:nobodyさん
09/10/10 08:12:18
避けられる

221:nobodyさん
09/10/10 14:02:22 k2nLAcqK
RESTfulの利点ってなんですか?
アクションのみで遷移してほうが簡単だと思うのですが…



222:nobodyさん
09/10/10 14:54:39
>>221
「リソースとそれに対するCRUD」という形でモノを考えることを
強制されることだと思っている。


223:221
09/10/10 15:15:46 k2nLAcqK
>>221
強制されることで生じるメリットはどのようなものがあるのですか?

RESTfulに作成されたアプリのイメージがわかないです。
scaffoldで作成されるほど単純なアプリってあまりないような気がします。



224:221
09/10/10 15:16:52 k2nLAcqK
アンカー間違えました。
222の方に対する質問でした。


225:nobodyさん
09/10/10 18:06:20
個人でやってる範囲だけど…

URL設計に何の制約もなければ、要望に対して一番素直と思える形
で機能を追加していってしまうことが出来て、アプリケーションが
老舗温泉旅館状態のカオスになるおそれがある。

RESTを意識すると、ある問題を、どんなリソースを用意して、どの
HTTPメソッドを送る形に分類出来るか、事前に意識する必要が出て
くるので、全体のURL構成が見渡し易くなる。

RESTが、というよりは、何かの型に自らはまることのメリットだな、こりゃ。


226:nobodyさん
09/10/10 18:19:41
根拠は無いけどRESTは名前が浸透する前に廃れると思う

227:nobodyさん
09/10/10 20:14:30
浸透してるからRailsで採用されたんじゃなくて?

228:nobodyさん
09/10/10 21:01:24
浸透させたくなったDHHがRailsに採用したという感じではないかな。


229:nobodyさん
09/10/10 21:40:48
RESTが浸透してないとか言ってるやつは、WebAPIでなんか作ってみれば?

230:nobodyさん
09/10/10 21:50:07
なんちゃってRESTも多いからなー。

231:nobodyさん
09/10/11 01:12:46
最近の技術はほとんど名前の後付けに過ぎないからな

232:nobodyさん
09/10/11 03:54:40
ajax
cloud

233:nobodyさん
09/10/12 00:31:02
型に自らはまっておくと、
link_to("詳細", record) だけで詳細へのリンクになるのが便利

234:nobodyさん
09/10/12 11:26:41 w/VULtBT
RESTfulに書くときってコントローラとモデルが1対1になる感じですよね?

235:nobodyさん
09/10/12 14:10:05
マク使うとか馬鹿過ぎw
どうせ鯖はリナックスなんだから、PC買ったほうがいいよ。

236:nobodyさん
09/10/12 18:31:42
>>235
意味不明

237:nobodyさん
09/10/12 19:21:15 PIBBLJL/
has_many関係にある2つのモデルに対して情報を登録するフォームにおいて、
error_messages_forでエラーを表示すると、2つのモデルのエラーがまとめて表示されてしまいます。
一方のモデルのエラーだけを表示するような方法はあるのでしょうか?


238:nobodyさん
09/10/12 19:38:28
エラーを伏せたいほうのオブジェクトの #errors.clear でどう?


239:nobodyさん
09/10/16 05:53:31 tsHntjAe
rubyスレで間違えて質問してしまいました。本家で質問です。

mysqlのデータを単純にcontrollerでfindで取り出してviewで表示させようとしています。
しかしブラウザでの表示が文字化けならいざ知れず、「#」になってしまいます。
具体的にページのソースを見てみると、その部分は、

#<Book:0x24319ec>

となっています(Bookテーブルのものを取り出して表示しようとしています)。
文法はコントローラで@book = Book.find(params[:id])とし、
ビューで <%=h @book.title %> という風にしているので合ってるのではないかと思っています。

(ビューでp してみたところ、ターミナルには [#<Book id: 1, title: "hoge">] となっているので、
途中までは正常に取り出せているようなのですが、ブラウザ表示のところでこうなってしまって大変悩んでいます。

macosxでMAMPを入れ、いざ開発をしようと決めたところでこのエラーです。
railsのバージョンは2.3.4です。
誰か解決策をご存知の方ご教授おねがいします。よろしくお願いします。

240:nobodyさん
09/10/16 06:57:43
mysqlの文字コード設定がsjisとか?


241:nobodyさん
09/10/16 07:07:43
>>239
controllerのクラス名か、ファイル名がおかしいんじゃね?

242:nobodyさん
09/10/16 09:10:01
p の結果が配列に見えるんだが。

243:nobodyさん
09/10/16 10:54:54
githubとかで手軽にソース公開できるようになればこんな問題も即解決


244:nobodyさん
09/10/16 11:34:38
>>239
ソース上 #<Book:0x24319ec> となっているなら、
<%= @book %> と書いてしまっているはずなんだが。


245:239
09/10/16 13:05:10 tsHntjAe
>>240-244

ありがとうございます。
文字コードはutf-8になっています。クラス名も全部チェックしました。
ちなみに今朝、テーブル名を変えてみたらうまくいきました。
テーブル名を戻してみるとできません。いまだ謎です。

とりあえず解決はしたので、良かったです。みなさんありがとうございました。


246:nobodyさん
09/10/16 13:15:33
すいません、↑はテーブル名ではなく、カラム名です。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5388日前に更新/279 KB
担当:undef