タグ付けされた質問 「ruby-on-rails」

Ruby on Railsは、Rubyで記述されたオープンソースのフルスタックWebアプリケーションフレームワークです。これは、人気のあるMVCフレームワークモデルに準拠しており、アプリケーション開発への「構成上の規約」アプローチで知られています。



5
Rubyクラスの名前を取得するにはどうすればよいですか?
ActiveRecordオブジェクトからクラス名を取得するにはどうすればよいですか? 私が持っています: result = User.find(1) 私は試した: result.class # => User(id: integer, name: string ...) result.to_s # => #<User:0x3d07cdc>" 文字列で(Userこの場合は)クラス名だけが必要です。その方法はありますか? これはかなり基本的なことはわかっていますが、RailsとRubyの両方のドキュメントを検索しましたが、見つかりませんでした。

9
Ruby on Rails ActiveRecordの移行で長すぎるインデックス名を処理するにはどうすればよいですか?
4つの関連付けられたテーブルの外部キーから作成される一意のインデックスを追加しようとしています。 add_index :studies, ["user_id", "university_id", "subject_name_id", "subject_type_id"], :unique => true データベースのインデックス名の制限により、移行が失敗します。エラーメッセージは次のとおりです。 テーブル 'studies'のインデックス名 'index_studies_on_user_id_and_university_id_and_subject_name_id_and_subject_type_id'が長すぎます。制限は64文字です どうすればこれを処理できますか?別のインデックス名を指定できますか?

29
Rails 3.1を使用して、「ページ固有」のJavaScriptコードをどこに配置しますか?
私の理解では、JavaScriptはすべて1つのファイルにマージされます。Railsは//= require_tree .、application.jsマニフェストファイルの最後に追加すると、デフォルトでこれを行います。 これは本当の命の恩人のように聞こえますが、ページ固有のJavaScriptコードについて少し心配しています。このコードはすべてのページで実行されますか?最後に必要なのは、すべてのオブジェクトが1ページでのみ必要なときに、すべてのオブジェクトをインスタンス化することです。 また、コードが衝突する可能性もありませんか? あるいはscript、ページのJavaScriptコードを実行するメソッドを呼び出すだけの小さなタグをページの下部に配置しますか? その後、require.jsは必要なくなりましたか? ありがとう 編集:私はすべての答えに感謝しています...そして私は彼らが本当に問題になっているとは思いません。それらのいくつかはスタイリングに関するものであり、関連しているようには見えません...そして他の人はjavascript_include_tag私が存在することを知っていると述べています...各ページの下部で個々のJavaScriptをロードするのではなく、JavaScriptを1つのファイルに読み込みます。 私が思いつくことができる最善の解決策は、特定の機能divをidsまたはclasses でタグにラップすることです。JavaScriptコードでは、idまたはclassがページ上にあるかどうかを確認し、ページ上にある場合は、それに関連付けられているJavaScriptコードを実行します。このように、動的要素がページ上にない場合、JavaScriptコードはapplication.js、Sprocketsによってパッケージ化された巨大なファイルに含まれていても実行されません。 私の上記のソリューションには、100ページのうち8ページに検索ボックスが含まれている場合、その8ページのみで実行されるという利点があります。また、サイトの8ページに同じコードを含める必要はありません。実際、サイトに手動のスクリプトタグを含める必要はもう二度とありません。 これが私の質問に対する実際の答えだと思います。

5
Rails I18n検証非推奨警告
rails 4.0.2にアップデートしたところ、次の警告が表示されました。 [非推奨] I18n.enforce_available_localesは将来的にデフォルトでtrueになります。本当にロケールの検証をスキップしたい場合は、I18n.enforce_available_locales = falseを設定してこのメ​​ッセージを回避できます。 falseに設定することでセキュリティ上の問題はありますか?

29
「/ users / sign_out」に一致するルートはありませんdevise rails 3
私は自分のアプリにdeviseをインストールし、application.html.erbファイルに以下を適用しました: <div id="user_nav"> <% if user_signed_in? %> Signed in as <%= current_user.email %>. This cannot be cheese? <%= link_to 'Sign out', destroy_user_session_path %> <% else %> <%= link_to 'Register', new_user_registration_path %> or <%= link_to 'Sign in', new_user_session_path %> <% end %> </div> 私は走りrake routes、すべてのルートが有効であることを確認しました。 また、私のroutes.rbファイルにはとがdevise_for :usersありroot :to => "home#index"ます。 [ログアウト]リンクをクリックすると、次のルーティングエラーが発生します。 …

4
保存せずにRails update_attributes?
レコードを保存しないupdate_attributesの代替はありますか? だから私は次のようなことをすることができます: @car = Car.new(:make => 'GMC') #other processing @car.update_attributes(:model => 'Sierra', :year => "2012", :looks => "Super Sexy, wanna make love to it") #other processing @car.save ところで、私はできることを知っていますが@car.model = 'Sierra'、すべてを1行で更新したいと思います。

14
Ruby on Rails 3.1でアセットパイプライン(スプロケット)メッセージのロギングを無効にするにはどうすればよいですか?
Ruby on Rails 3.1(RC1)のデフォルトでは、スプロケットは(dev)ログで非常に冗長になる傾向があります。 Started GET "/assets/application.css" for 127.0.0.1 at 2011-06-10 17:30:45 -0400 Compiled app/assets/stylesheets/application.css.scss (5ms) (pid 6303) Started GET "/assets/application.js" for 127.0.0.1 at 2011-06-10 17:30:45 -0400 Compiled app/assets/stylesheets/default.css.scss (15ms) (pid 6303) ... Started GET "/assets/default/header_bg.gif" for 127.0.0.1 at 2011-06-10 17:30:45 -0400 Served asset /default/header_logo.gif - 304 Not Modified (7ms) …

7
Railsルーティングヘルパー(mymodel_path(model))をモデルで使用できますか?
ThingというRailsモデルがあるとします。Thingには、オプションでインターネット上のどこかにあるURLに設定できるurl属性があります。ビューコードでは、次のことを行うロジックが必要です。 <% if thing.url.blank? %> <%= link_to('Text', thing_path(thing)) %> <% else %> <%= link_to('Text', thing.url) %> <% end %> ビューのこの条件付きロジックは醜いです。もちろん、ビューを次のように変更するヘルパー関数を作成することもできます。 <%= thing_link('Text', thing) %> これで冗長性の問題は解決しますが、モデル自体に機能を持たせたいと思います。この場合、ビューコードは次のようになります。 <%= link_to('Text', thing.link) %> これには明らかに、モデルにリンクメソッドが必要です。これが含まれる必要があるものです: def link (self.url.blank?) ? thing_path(self) : self.url end 問題は、thing_path()はモデルコード内の未定義のメソッドです。いくつかのヘルパーメソッドをモデルに「引き込む」ことが可能だと思いますが、どうやって?そしてルーティングがアプリのコントローラーとビューレイヤーでのみ機能するという本当の理由はありますか?モデルコードがURLを処理する必要がある場合(外部システムとの統合など)がたくさんあると思います。



5
NOT NILを使用した状態のレール
rails 3スタイルを使用して、私はどのように反対のことを書けますか? Foo.includes(:bar).where(:bars=>{:id=>nil}) idがnilでない場所を見つけたいのですが。私は試した: Foo.includes(:bar).where(:bars=>{:id=>!nil}).to_sql しかし、それは戻ります: => "SELECT \"foos\".* FROM \"foos\" WHERE (\"bars\".\"id\" = 1)" これは間違いなく私が必要としているものではなく、ARelのバグのように見えます。

7
bundle exec rakeはどういう意味ですか?
どういうbundle exec rake db:migrate意味ですか?それともbundle exec rake <command>一般的に? bundleGemfileのメンテナンスを行うことで理解します。「exec」という言葉の意味を知っています。rakeは、あなたが実行できるさまざまなスクリプトのすべてを維持していることを理解していますdb:migrate。それがその1つであることを知っています。これらすべての単語が一体何をしているのか、私にはわかりません。なぜデータベース移行のbundle実行rakeに使用する必要があるのですか?

12
Railsアセットパイプラインでのフォントの使用
私のScssファイルでいくつかのフォントを次のように構成しています: @font-face { font-family: 'Icomoon'; src: asset-url('icoMoon.eot?#iefix', font) format('embedded-opentype'), asset-url('icoMoon.woff', font) format('woff'), asset-url('icoMoon.ttf', font) format('truetype'), asset-url('icoMoon.svg#Icomoon', font) format('svg'); } 実際のフォントファイルは/ app / assets / fonts /に保存されています config.assets.paths << Rails.root.join("app", "assets", "fonts")application.rbファイルに追加しました コンパイルCSSソースは次のとおりです。 @font-face { font-family: 'Icomoon'; src: url(/assets/icoMoon.eot?#iefix) format("embedded-opentype"), url(/assets/icoMoon.woff) format("woff"), url(/assets/icoMoon.ttf) format("truetype"), url(/assets/icoMoon.svg#Icomoon) format("svg"); } しかし、アプリを実行すると、フォントファイルが見つかりません。ログ: 2012-06-05 23:21:17 +0100配信されたアセット/icoMoon.ttf-404が見つかりません(13ms) …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.