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

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

4
Rails:Railsでhas_oneアソシエーションでビルドを使用する
この例では、userをno profileで作成し、後でprofileそのユーザーのを作成します。has_oneアソシエーションでビルドを使用しようとしましたが、失敗しました。これが機能しているのを見る唯一の方法は、を使用することhas_manyです。userだけ多くても1つで持っていることになっていますprofile。 私はこれを試してきました。私が持っています: class User < ActiveRecord::Base has_one :profile end class Profile < ActiveRecord::Base belongs_to :user end しかし、私がするとき: user.build_profile エラーが発生します: ActiveRecord::StatementInvalid: Mysql::Error: Unknown column 'profiles.user_id' in 'where clause': SELECT * FROM `profiles` WHERE (`profiles`.user_id = 4) LIMIT 1 レールで0または1の関連付けを行う方法はありますか?

6
rspecを使用してファイルのアップロードをテストする-Rails
Railsでファイルのアップロードをテストしたいのですが、これを行う方法がわかりません。 これがコントローラーコードです: def uploadLicense #Create the license object @license = License.create(params[:license]) #Get Session ID sessid = session[:session_id] puts "\n\nSession_id:\n#{sessid}\n" #Generate a random string chars = ("a".."z").to_a + ("A".."Z").to_a + ("0".."9").to_a newpass = "" 1.upto(5) { |i| newpass << chars[rand(chars.size-1)] } #Get the original file name upload=params[:upload] name = upload['datafile'].original_filename @license.format …

5
Railsでモデル属性をどのように発見しますか?
クラスファイルで明示的に定義されていないため、すべてのモデルクラスにどの属性/プロパティが存在するかを簡単に確認するのは困難です。 モデルの属性を見つけるために、schema.rbファイルを開いたままにし、必要に応じて、それと、作成しているコードを切り替えます。これは機能しますが、属性を取得するためのスキーマファイルの読み取り、メソッドをチェックするためのモデルクラスファイル、および属性とメソッドを呼び出すために作成する新しいコードを切り替える必要があるため、扱いにくいです。 私の質問は、Railsコードベースを初めて分析するときに、モデル属性をどのようにして発見するのですか?schema.rbファイルを常に開いたままにしていますか、それとも、スキーマファイルとモデルファイルの間を絶えずジャンプしない方法がありますか?



7
RailsルートのAPIバージョニング
StripeのようにAPIをバージョン管理しようとしています。以下に、最新のAPIバージョンが2であることを示します。 /api/users に301を返します /api/v2/users /api/v1/users バージョン1で200のユーザーインデックスを返します /api/v3/users に301を返します /api/v2/users /api/asdf/users に301を返します /api/v2/users つまり、指定されたバージョンが存在しない限り、基本的に、バージョンを指定しないものは最新のものにリンクし、リダイレクトされます。 これは私がこれまでに持っているものです: scope 'api', :format => :json do scope 'v:api_version', :api_version => /[12]/ do resources :users end match '/*path', :to => redirect { |params| "/api/v2/#{params[:path]}" } end

11
Railsで「…からコンソールをレンダリングできません」を無効にする方法
開発環境としてUbuntu / vagrantを使用しています。Railsコンソールに次のメッセージが表示されます。 Started GET "/assets/home-fcec5b5a277ac7c20cc9f45a209a3bcd.js?body=1" for 10.0.2.2 at 2015-04-02 15:48:31 +0000 Cannot render console from 10.0.2.2! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255 これらの「レンダリングできません...」メッセージを無効にしたり、何らかの方法で許可したりすることはできますか?

7
アソシエーションによるbelongs_to
以下の関連付けを前提として、Questiona ChoiceがChoiceモデルから接続されていることを参照する必要があります。を使用belongs_to :question, through: :answerしてこのアクションを実行しようとしています。 class User has_many :questions has_many :choices end class Question belongs_to :user has_many :answers has_one :choice, :through => :answer end class Answer belongs_to :question end class Choice belongs_to :user belongs_to :answer belongs_to :question, :through => :answer validates_uniqueness_of :answer_id, :scope => [ :question_id, :user_id ] end 私は得ています …

15
バンドラー:コマンドが見つかりません
私はいくつかのチュートリアルに従って正しくインストールされたvps、ubuntu 10.04、rails 3、ruby、およびmysqlでホストしています。実行した場合、bundle checkまたはbundle install「-bash:bundle:command not found」というエラーが発生した場合。gem list --local私は「バンドラ(1.0.2、1.0.0)」を参照してインストールされています。 何が悪いのかわかりません... gem environment 戻り値: RubyGems Environment: - RUBYGEMS VERSION: 1.3.7 - RUBY VERSION: 1.8.7 (2010-04-19 patchlevel 253) [i686-linux] - INSTALLATION DIRECTORY: /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8 - RUBY EXECUTABLE: /opt/ruby-enterprise-1.8.7-2010.02/bin/ruby - EXECUTABLE DIRECTORY: /opt/ruby-enterprise-1.8.7-2010.02/bin - RUBYGEMS PLATFORMS: - ruby - x86-linux - GEM PATHS: - …

26
ActiveRecordコールバックの実行を回避するにはどうすればよいですか?
after_saveコールバックを持つモデルがいくつかあります。通常は問題ありませんが、開発データの作成時など、コールバックを実行せずにモデルを保存したい場合があります。それを行う簡単な方法はありますか?のようなもの... Person#save( :run_callbacks => false ) または Person#save_without_callbacks Railsのドキュメントを調べても何も見つかりませんでした。ただし、私の経験では、Railsのドキュメントが常にすべての話を伝えるとは限りません。 更新 次のようなモデルからコールバックを削除する方法を説明するブログ投稿を見つけました。 Foo.after_save.clear その方法が文書化されている場所を見つけることができませんでしたが、うまくいくようです。


7
「sudo gem install」または「gem install」とgemの場所
「sudo gem list --local」と「gem list --local」を実行すると、結果が異なります。私のgemパスはホームフォルダーに設定されており、 ' gem list --local'のgemのみが含まれています。 私のコンピューターの別のディレクトリにgemをインストールするのはよくないので、gemパスを別の方法で設定sudoする必要があります。何かをインストールするときは常に使用する必要がありますか? my ~/.profile export PATH=/opt/local/bin:/opt/local/sbin:$PATH export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH" 〜/ .bash_profileが空です。


5
RVMとrbenvは実際にどのように機能しますか?
RVMとrbenvが実際にどのように機能するかに興味があります。 明らかに、Rubyとgemsetの異なるバージョン間で交換しますが、これはどのようにして実現されますか?私はそれらがシンボリックリンクを単に更新していると想定していましたが、コードを掘り下げた(そして私はBashの私の知識は表面的なものであることを認めなければなりません)彼らはこれ以上のことをしているようです。

10
Railsのアクティブレコードのデフォルトのタイムゾーンを変更するにはどうすればよいですか?
私の中でapplication.rb私は次のコメントに出くわしました # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. config.time_zone = 'Eastern Time (US & Canada)' 上からわかるように、config.time_zoneESTの時間に合わせました。ただし、DBでレコードが作成datetimeされると、UTC形式で格納されているように見えます。 上記のコメントで、彼らは言う ...そして、Active Recordをこのゾーンに自動変換します... どうすればそれを行うことができますか? また、これをherokuにも展開していきますので、引き継ぐ設定をお願いします

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