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

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



7
ActionMailerビューでビューヘルパーを使用する方法
app/helpers/annotations_helper.rbReportMailerビューで定義したメソッドを使用したい(app/views/report_mailer/usage_report.text.html.erb)。どうすればよいですか? このガイドに基づいて、add_template_helper(helper_module)メソッドは私が望むことをするように見えるかもしれませんが、それを使用する方法がわかりません。 (ところで、メーラービューで別のヘルパーセットにアクセスする理由はありますか?これはかなり面倒です。)

5
Paperclip :: Errors :: MissingRequiredValidatorError with Rails 4
Railsブログアプリでクリップを使用してアップロードしようとすると、このエラーが発生します。"MissingRequiredValidatorError"と表示されている場合、それが何を指しているのかわからない Paperclip::Errors::MissingRequiredValidatorError in PostsController#create Paperclip::Errors::MissingRequiredValidatorError Extracted source (around line #30): def create @post = Post.new(post_params) これは私のposts_controller.rbです def update @post = Post.find(params[:id]) if @post.update(post_params) redirect_to action: :show, id: @post.id else render 'edit' end end def new @post = Post.new end def create @post = Post.new(post_params) if @post.save redirect_to action: :show, id: …

12
rails部分テンプレートのオプションのローカル変数:(定義された?foo)混乱からどうやって抜け出すのですか?
私はひどい子供であり、部分テンプレートをレンダリングするときに値が:localsハッシュで明示的に定義されていない場合、部分テンプレートで次の構文を使用してローカル変数のデフォルト値を設定しました- <% foo = default_value unless (defined? foo) %> これは最近まで正常に機能していたようで、(理由がわからない)渡されなかった変数が、(未定義ではなく)nilに定義されているかのように動作し始めました。 SOのさまざまな役立つ人々によって指摘されているように、http://api.rubyonrails.org/classes/ActionView/Base.htmlは使用しないように言っています defined? foo 代わりに使用する local_assigns.has_key? :foo 私は自分のやり方を修正しようとしていますが、それは多くのテンプレートを変更することを意味します。 前払いして、すべてのテンプレートでこの変更を行うことはできますか?注意が必要な注意点はありますか?それぞれをどれくらい熱心にテストする必要がありますか?

7
新しいユーザーの作成時にActiveModel :: ForbiddenAttributesError
私はこのモデルをRubyで持っていますが、それは ActiveModel::ForbiddenAttributesError class User < ActiveRecord::Base attr_accessor :password validates :username, :presence => true, :uniqueness => true, :length => {:in => 3..20} VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i validates :email, presence: true, :uniqueness => true, format: { with: VALID_EMAIL_REGEX } validates :password, :confirmation => true validates_length_of :password, :in => 6..20, :on => :create before_save …

5
改行を削除せずにRubyで複数行の長い文字列を分割する
私は最近、私の仕事でルビースタイルガイドに決めました。禁忌の1つは、どの行も80文字を超えてはならないということです。これはRailsプロジェクトであるため、文字列が少し長くなることがよくあります。つまり、「ユーザーXがThing Yについてのメッセージを送信したかった」というもので、常に80文字のスタイル制限に収まりません。 長い文字列を複数行に分割するには3つの方法があることを理解しています。 HEREDOC %Q {} 実際の文字列連結。 ただし、これらすべてのケースで、より多くの計算サイクルが必要になり、ばかげているように見えます。文字列の連結は当然ですが、改行を取り除かなければHEREDOCなり%Qません.gsub(/\n$/, '')。 これを行うための純粋な構文方法はありますか?これは、文字列全体を1行に収めるのと同じです?目標は、明らかに、コードをもう少し読みやすくするために余分なサイクルを費やさないことです。(はい、私はあなたがそのトレードオフをたくさんしなければならないことを理解しています...しかし、文字列の長さのために、これはばかげているように見えるだけです。) 更新:インデントがなくなるため、バックスラッシュは私が望んでいるものとは異なります。インデントはスタイル/読みやすさに影響を与えます。 例: if foo string = "this is a \ string that spans lines" end 上記は少し読みにくいです。 編集:私は以下の回答を追加しました。3年後、波状のヒアドキュメントができました。

11
Railsで相対時間をどのように使用しますか?
私はRailsアプリケーションを書いていますが、相対時間を実行する方法を見つけることができないようです。つまり、特定のTimeクラスを指定すると、「30秒前」または「2日前」、または1か月より長い場合に計算できます。 「2008年9月1日」など


5
Rails.envとRAILS_ENV
どちらの環境で実行されているかを確認するときに、例に両方が表示されます。それらは、すべての意図と目的のために等しいですか?


20
pg gemをインストールできません
使ってみましたgem install pgが動かないようです。 gem install pg このエラーを与えます Temporarily enhancing PATH to include DevKit... Building native extensions. This could take a while... ERROR: Error installing pg: ERROR: Failed to build gem native extension. C:/Ruby/bin/ruby.exe extconf.rb checking for pg_config... no No pg_config... trying anyway. If building fails, please try again with --with-pg-config=/path/to/pg_config …


4
link_toにクエリ文字列パラメーターを追加する
link_to UrlHelperにクエリ文字列パラメーターを追加するのが困難です。たとえば、(will_paginateを介して)並べ替え、フィルター処理、およびページ付けを行うためのUI要素を含むIndexビューがあります。will_paginateプラグインは、クエリ文字列パラメーターのページ内永続性を正しく管理します。 特定の名前付きルートにクエリ文字列パラメーターを追加する自動メカニズムはありますか、それとも手動で行う必要がありますか?この一見単純そうな構造の多くの研究は私に無知を残しました。 編集する いくつかの課題: 2つのクエリ文字列パラメーター、バケットと並べ替えがある場合、link_toで特定の値をこれらの1つに設定し、他方の現在の値を保持するにはどうすればよいですか?例えば: <%= link_to "0", profiles_path(:bucket => '0', :sorting=>?? ) %> 複数のクエリ文字列パラメーター、バケットと並べ替えとpage_sizeがあり、これらのいずれかに値を設定したい場合、残りのパラメーターの名前と値を「自動的に」含める方法はありますか?例えば: <%= link_to "0", profiles_path(:bucket => '0', [include sorting and page_size name/values here] ) %> will_paginateプラグインは、ページ変数とその他のクエリ文字列変数を自動的に管理します。ページサイズを管理するための自動UI要素はないようです。ページサイズの選択リストを作成するコードを見てきましたが、これには(SOなどの)A要素が必要です。この課題の一部は#2に関連し、一部はレコードの存在/非存在に基づいてこのUI要素を非表示/表示することに関連しています。別の言い方をすると、ページングするレコードがある場合にのみ、ページサイズのリンクを含めたいです。さらに、link_toに名前で含める必要はなく、他のQS変数(つまり、ページ、バケット、ソート)を自動的に含めることを好みます。

12
Ruby on Rails:グローバル定数はどこで定義するのですか?
最初のRuby on Rails Webアプリケーションを始めたばかりです。さまざまなモデル、ビュー、コントローラーなどがたくさんあります。 アプリ全体に適用される、真にグローバルな定数の定義を固執するのに適した場所を見つけたいと思っています。特に、それらは私のモデルのロジックと私の見解で行われた決定の両方に適用されます。これらの定義を、私のすべてのモデルとすべての私の見解の両方で利用できる場所に置くためのDRYの場所を見つけることができません。 特定の例をとるには、定数が必要ですCOLOURS = ['white', 'blue', 'black', 'red', 'green']。これは、モデルとビューの両方で、至る所で使用されています。アクセスできるように、1つの場所でどこに定義すればよいですか? 私が試したこと: それらが最も関連付けられているmodel.rbファイル内の定数クラス変数(など)@@COLOURS = [...]。しかし、私はそれを明確に定義する方法を見つけることができなかったので、私は自分の意見Card.COLOURSでのような何か不器用なものではなく書くことができますCard.first.COLOURS。 モデルのメソッドのようなものdef colours ['white',...] end-同じ問題。 application_helper.rbのメソッド-これは私がこれまで行っていることですが、ヘルパーはモデルではなくビューでのみアクセスできます 私はapplication.rbまたはenvironment.rbで何かを試したかもしれないと思いますが、それらは本当に正しく見えません(そしてそれらもどちらも動作しないようです) モデルとビューの両方からアクセスできるように何かを定義する方法はありませんか?つまり、モデルとビューを分離する必要があることはわかっていますが、確かに一部のドメインでは、同じドメイン固有の知識を参照する必要がある場合がありますか?

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