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

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

3
ネストされたリソースを持つform_for
form_forとネストされたリソースについて2つの部分からなる質問があります。ブログエンジンを作成していて、コメントを記事に関連付けたいとしましょう。ネストされたリソースを次のように定義しました: map.resources :articles do |articles| articles.resources :comments end コメントフォームは、記事のshow.html.erbビュー内で、たとえば次のように記事自体の下にあります。 <%= render :partial => "articles/article" %> <% form_for([ :article, @comment]) do |f| %> <%= f.text_area :text %> <%= submit_tag "Submit" %> <% end %> これにより、「nilに対して呼び出されたIDが誤って呼び出される」などのエラーが発生します。私も試しました <% form_for @article, @comment do |f| %> これは正しくレンダリングされますが、コメントではなく記事の「テキスト」フィールドにf.text_areaを関連付け、そのテキスト領域のarticle.text属性のHTMLを表示します。だから私もこれが間違っているようです。私が欲しいのは、 'submit'がCommentsControllerのcreateアクションを呼び出すフォームです。たとえば、/ articles / 1 / commentsへの投稿リクエストなど、paramsにarticle_idがあります。 私の質問の2番目の部分は、最初にコメントインスタンスを作成する最良の方法は何ですか?ArticlesControllerのshowアクションで@commentを作成しているので、コメントオブジェクトはform_forヘルパーのスコープ内にあります。次に、CommentsControllerのcreateアクションで、form_forから渡されたパラメーターを使用して新しい@commentを作成します。 ありがとう!



5
なぜレールdefault_scopeを使用することがしばしば推奨されないのですか?
インターネットの至る所で 、レールを使用することdefault_scopeは悪い考えであり、default_scopestackoverflowの上位ヒットはそれをどのように上書きするかということです。これはめちゃくちゃに感じられ、明確な質問に値する(私は思う)。 それで、なぜdefault_scope推奨されているレールを使用しないのですか?

20
Rails:リンク(URL)を検証する良い方法は何ですか?
RailsでURLをどのように検証するのが最適かと思いました。正規表現を使用することを考えていましたが、これがベストプラクティスかどうかはわかりません。 そして、もし私が正規表現を使うとしたら、誰かが私にそれを提案することができますか?私はまだRegexを初めて使用します。

7
Rails 4-変数を部分に渡す
Ruby on Railsチュートリアルに従っていて、変数をパーシャルに渡そうとしたときに問題が発生しました。 私の_user部分は次のとおりです <li> <%= gravatar_for user, size: 52 %> <%= link_to user.name, user %> </li> サイズの値に数値を渡したいのですが。運が悪ければ次のように頑張っています。 <%= render @users, :locals => {:size => 30} %>



21
ローカルPostgreSQLに接続できません
私はなんとか私のローカル開発環境を破壊しました。 私のローカルRailsアプリはすべてエラーを出します: PGError could not connect to server: Permission denied Is the server running locally and accepting connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"? 何が原因なのかわかりません。 解決策を探している間、私はすべてのバンドルされたgem、更新されたシステムgem、更新されたMacPortsを更新しました。喜びがない。 OSX LeopardからLionにアップグレードするときに、使用するPostgresのバージョン(OSXバージョンまたはMacPortsバージョン)が混乱するため、この問題が報告されています。私はライオンを数か月間実行しているので、これが今発生するのは奇妙に思えます。 私は問題が何であるかを最初に理解することなく、あまりいじりをすることに消極的です。これを系統的にデバッグするにはどうすればよいですか? システムにあるPostgreSQLのバージョンの数、アクセスしているバージョン、およびその場所を確認するにはどうすればよいですか?間違ったPostgreSQLが使用されている場合、どうすれば修正できますか? noobの質問でごめんなさい。これがどのように機能するかはまだ学習中です!ポインタをありがとう。 編集 以下の提案とコメントに基づく更新。 エラーpg_lsclustersを返す実行しようとしcommand not foundました。 次に、pg_hba.confファイルをローカル化しようとしたところ、次の3つのサンプルファイルが見つかりました。 /opt/local/share/postgresql84/pg_hba.conf.sample /opt/local/var/macports/software/postgresql84/8.4.7_0/opt/local/share/postgresql84/pg_hba.conf.sample /usr/share/postgresql/pg_hba.conf.sample PSQLの3つのバージョンがインストールされていると思いますか?Macports、OSXデフォルトおよび???。 次に、launchctl起動スクリプトps -ef | grep postgresを検索しました。 0 56 1 0 11:41AM …

6
「参照」移行での列名の指定
migration別のテーブルを参照してRailsで作成したい。通常、私は次のようなことをします: add_column :post, :user, :references これにより、テーブルに名前が付けられた列が作成さuser_idれpostsます。しかし、ではなく、のuser_idようなものが欲しい場合はどうなりauthor_idますか?どうやってやるの?



3
モデルに特定の列/属性があるかどうかを確認するにはどうすればよいですか?
ハッシュをループしてモデルテーブルに各キーが存在するかどうかを確認する必要があるメソッドがあります。それ以外の場合は、キー/値が削除されます。 例えば number_hash = { :one => "one", :two => "two" } Numberテーブルには:oneカラムしかないので、:twoは削除されます。 モデルに属性があるかどうかを確認するにはどうすればよいですか?

1
レールのt.belongs_toとt.referencesの違いは何ですか?
違いは何であるt.referencesとはt.belongs_to?なぜこれら2つの異なる単語があるのですか?彼らは同じことをしているように思えますか?いくつかのGoogle検索を試しましたが、説明は見つかりませんでした。 class CreateFoos < ActiveRecord::Migration def change create_table :foos do |t| t.references :bar t.belongs_to :baz # The two above seems to give similar results t.belongs_to :fooable, :polymorphic => true # I have not tried polymorphic with t.references t.timestamps end end end


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