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

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

7
数値が(1つのステートメントで)範囲に含まれているかどうかを確認するにはどうすればよいですか?
Ruby on Rails 3.0.9を使用していますが、範囲に数値が含まれているかどうかを確認したいと思います。つまり、変数がある場合、値がその範囲に含まれているかどうかnumber = 5を確認1 <= number <= 10してブール値を取得したいと思いnumberます。 私はこのようにそれを行うことができます: number >= 1 && number <= 10 しかし、私はそれを1つのステートメントで行いたいと思います。どうやってやるの?

7
Rails 3:Ajax呼び出しで「redirect_to」する方法は?
次のattempt_loginメソッドは、ログインフォームが送信された後にAjaxを使用して呼び出されます。 class AccessController < ApplicationController [...] def attempt_login authorized_user = User.authenticate(params[:username], params[:password]) if authorized_user session[:user_id] = authorized_user.id session[:username] = authorized_user.username flash[:notice] = "Hello #{authorized_user.name}." redirect_to(:controller => 'jobs', :action => 'index') else [...] end end end 問題はそれredirect_toが機能しないことです。 これをどのように解決しますか?

8
カピバラで親ノードを取得するにはどうすればよいですか?
私は多くのjQueryプラグインを使用しています。これらのプラグインは、IDやその他の識別プロパティなしでDOM要素を作成することが多く、Capybaraでそれらを取得する唯一の方法(クリックなど)は、最初にネイバー(その祖先の別の子)を取得することです。 。しかし、私はどこにも見つかりませんでした。たとえば、カピバラはそのようなものをサポートしていますか。 find('#some_button').parent.fill_in "Name:", :with => name ?

14
Railsを使用して、主キーを整数型の列ではないように設定するにはどうすればよいですか?
Railsの移行を使用してデータベーススキーマを管理しており、主キー(特に文字列)として非整数値を使用したい単純なテーブルを作成しています。私の問題から抽象化するためにemployees、従業員が英数字の文字列で識別されるテーブルがあるとしましょう"134SNW"。 次のような移行でテーブルを作成してみました。 create_table :employees, {:primary_key => :emp_id} do |t| t.string :emp_id t.string :first_name t.string :last_name end これが私に与えるのは、その行t.string :emp_idを完全に無視して先に進み、整数列にしたように見えることです。execute呼び出しでSQLを記述せずに、railsにPRIMARY_KEY制約(PostgreSQLを使用しています)を生成させる他の方法はありますか? 注:文字列列を主キーとして使用するのは最善ではないことを私は知っているので、整数の主キーを追加するというだけの答えはありません。とにかく追加するかもしれませんが、この質問はまだ有効です。

8
Javaの移行
私はRubyonRailsとJavaの両方を使用しています。Railsプロジェクトに取り組んでいるときは、移行を使用することを本当に楽しんでいます。だから私はJava用のツールのような移行があるのだろうか?そのようなツールがない場合、Javaプロジェクトで使用されるデータベースを制御するためのツールとして移行を使用することをお勧めしますか?

13
ブール値への文字列「true」および「false」
Railsアプリケーションがあり、jQueryを使用してバックグラウンドで検索ビューを照会しています。そこフィールドは、q(検索語)、 start_date、end_dateとinternal。このinternalフィールドはチェックボックスであり、このis(:checked)メソッドを使用して、照会されるURLを作成しています。 $.getScript(document.URL + "?q=" + $("#search_q").val() + "&start_date=" + $("#search_start_date").val() + "&end_date=" + $("#search_end_date").val() + "&internal=" + $("#search_internal").is(':checked')); params[:internal]「true」または「false」を含む文字列があり、ブール値にキャストする必要があるため、問題が発生しました。もちろん、私はこのようにそれを行うことができます: def to_boolean(str) return true if str=="true" return false if str=="false" return nil end しかし、私はこの問題に対処するためのもっとルビーっぽい方法があるに違いないと思います!ありませんか…?

6
モデルから属性の変更を検出する方法は?
モデルが保存された後に実行されるコールバック関数をrailsに作成したいと思います。 私はこのモデルを持っています、クレームの状態に応じて変化する属性「ステータス」を持つクレーム、可能な値は保留中、承認済み、承認済み、拒否済みです データベースには「state」があり、デフォルト値は「pending」です。 モデルが最初に作成された後、またはモデルがどの状態から変化するかに応じて、ある状態から別の状態に更新された後に、特定のタスクを実行したいと思います。 私の考えは、モデルに関数を含めることです。 after_save :check_state def check_state # if status changed from nil to pending (created) do this # if status changed from pending to approved performthistask end 私の質問は、モデル内で変更する前に以前の値を確認するにはどうすればよいですか?

4
特定の宝石の異なるバージョンを「アクティブ化」するにはどうすればよいですか?
コマンドラインで呼び出すことができるように、OSの「アクティブな」gemとしてレール2.3.10を切り替えたいと思います。 これを行うことは可能ですか?私はrvmを使用していません。多分それは始める時間です。 試しましたgem install rails --version=2.3.10が、gemのバージョンがインストールされていることを確認するだけで、インストールされません。/usr/bin/rails。 (私はすでにアプリにbundleを使用していますが、これまでOSレベルでgemを正確に制御する必要はありませんでした)

5
投稿するリンクにRailslink_toを使用する
投稿リクエストを送信するために必要なリンクがあります。通常、私はjQueryを使用し、リンクのデフォルトの動作を防ぎ、フォームを宛先に送信します。これは、Railsが私を助けてくれるはずの何かのようです。案の定、このlink_toメソッドにはPOSThttpメソッドを指定するためのオプションがあります。 link_to "Profile", 'http://example.com/profile', method: :post それは機能しますが、2つのパラメーターも追加する必要があります。私は試した: link_to "Profile", 'http://example.com/profile', method: post, param1: 'value1', param2: 'value2' これらのパラメータを<a>HTML要素に追加しただけですが、リンクをクリックしてもパラメータは送信されませんでした。 <a rel="nofollow" param1="value1" param2="value2" data-method="post" href="http://example.com/profile">Profile</a> link_toまたは他のRailsメソッドを使用してパラメーターを使用してPOSTリクエストを実行する方法はありますか?Rails3.2.9を使用しています。

25
Railsは現在インストールされていないことを教えてくれます
私はrvmさまざまなルビーとその宝石セットを管理するために使用します。私のシェルはzshで、oh-my-zshは基本設定で構成されています。有効なoh-my-zshプラグインは、ruby、rails、osx、およびgitです。これが私がruby-1.8.7とrails-3.0.7をインストールするために使用したコマンドです。 rvm install 1.8.7 rvm use 1.8.7 gem install rails -v=3.0.7 それから私はタイプrailsして得ました: Rails is not currently installed on this system. To get the latest version, simply type: $ sudo gem install rails You can then rerun your "rails" command. rubygemsruby-1.8.7に切り替えた後の再インストールや、まったく新しいgemsetの作成など、より徹底的なインストールも試しましたが、運がありませんでした。 これがrvm情報です: ruby-1.8.7-p352@rails: system: uname: "Darwin yicai.local 10.8.0 Darwin Kernel Version …
85 ruby-on-rails  ruby  rvm  zsh 


6
RedisとMemcacheまたは単にRedis?
シンプルなRails.cacheインターフェイスを介してRails3アプリのキャッシュにmemcachedを使用していますが、redisとresqueを使用してバックグラウンドジョブ処理を実行したいと思います。 両方を使用するのに十分な違いがあると思います。ただし、herokuでは、memcachedとredisの両方を使用するための個別の料金があります。両方を使用するのは理にかなっていますか、それとも単にredisを使用するように移行する必要がありますか? キャッシュにmemcachedを使用するのが好きです。これは、最近使用されていないキーが自動的にキャッシュからプッシュされ、キャッシュデータを永続化する必要がないためです。Redisは私にとってほとんど新しいものですが、デフォルトでは永続的であり、キーがキャッシュから自動的に期限切れにならないことを理解しています。 編集:私の質問をもっと明確にしたかっただけです。両方ではなくRedisのみを使用することが可能であることを私は知っています。そうすることで特定の不利な点があるかどうかを知りたいだけだと思いますか?実装とインフラストラクチャの両方を考慮すると、Redisだけを使用すべきではない理由はありますか?(つまり、単純なキャッシュの場合、memcachedの方が高速ですか?)どちらの方法でも決定的なものは見つかりませんでした。

6
Railsペーパークリップ添付ファイルを削除する方法は?
私が使用していますペーパークリップon Railsの(/ Amazon S3のワット)を3.私は、既存の添付ファイルを削除することを交換することなく、更新アクションを使用して。 私はここでこれの1つの例を見つけただけで、それを機能させることができませんでした。削除されず、ログには理由を示すものが何もありませんでした。フォームで次のようなことをしたかったのです。 <%- unless @page.new_record? || !@page.image? -%> <%= f.check_box :image_delete, :label => 'Delete Image' %> <%- end -%> (ページはモデルの名前、画像は添付ファイルを保持する属性名です) しかし、そのチェックボックスを検出するにはどうすればよいですか、さらに重要なことに、画像を削除するにはどうすればよいですか?助けてくれてありがとう!

18
そのようなファイルをロードできません— Ruby onRailsのsqlite3 / sqlite3_native(LoadError)
Ruby2.0.0でRails4.0.0を使用してサーバーの基本的なインストールと開始をセットアップしようとすると、次のエラーメッセージが表示されます。 /usr/local/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7/lib/sqlite3.rb:6:in `require': cannot load such file -- sqlite3/sqlite3_native (LoadError) from /usr/local/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7/lib/sqlite3.rb:6:in `rescue in <top (required)>' from /usr/local/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7/lib/sqlite3.rb:2:in `<top (required)>' from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require' from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require' from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each' from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require' from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each' from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require' from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler.rb:132:in `require' from /home/penchal/new/site/config/application.rb:7:in `<top …

6
`rails generate controller`のテスト、アセット、ヘルパーの作成をスキップする構文?
ヘルプを読み、次のコマンドを試して、テスト、アセット、ヘルパーファイルの生成をスキップしました $ bin/rails generate controller home index --helper false --assets false --controller-specs false --view-specs false create- app/controllers/home_controller.rb route get "home/index" invoke erb create app/views/home create app/views/home/index.html.erb invoke rspec error false [not found] error false [not found] あなたはこの作品を超える出力で気づく&のみ可能としてcontroller, routes&views生成されます。しかし、最後の2行は興味深いので、次のようにします。 error false [not found] error false [not found] 明らかに、railsは--option-name false構文が好きではないようです。間違った構文を使用したため、このエラーは発生しますか?はいの場合、正しい方法は何ですか?ありがとう

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