問題タブ [friendly-id]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1104 参照

ruby-on-rails - Railsのfriendly_idページはまだレコードIDで取得可能

Railsアプリでfriendly_idgemを使用して、クリーンなURLを作成しています。うまく機能していますが、このページはterecordidでも取得できます。

例:

スラッグとして「name」のレコードがあります。このレコードのIDは1です。

したがって、ページは2つのURLから取得できます。

domain.com/name

domain.com/1

domain.com/nameのみを使用したいので、domain.com/1からページにアクセスできるようにしたくありません。

誰かがこれを達成する方法を知っていますか?

0 投票する
1 に答える
1020 参照

ruby-on-rails - FriendlyId とパラメータの問題

URLをwhatever.com/users/1からwhatever.com/users/jamie.Surnameまたはwhatever.com/users/jamie-Surnameに変更しようとしています

最終的にはwhatever.com/jamie.surnameまたはwhatever.com/jamie-surnameに変更したいと思っていますが、単純なものから始めるのが最善だと思いました。

だから私は Friendly_id ジェムをインストールしました。

ただし、その URL にアクセスしようとすると、エラーが発生します。

ActiveRecord::UsersController の RecordNotFound#show

ID のないユーザーが見つかりませんでした

アプリケーション トレース | フレームワーク トレース | フルトレース app/controllers/users_controller.rb:22:in `show'

リクエスト パラメータ: {"id"=>"jamie"}

この行は、エラーをスローする users_controller のメソッドです

これを修正する方法が思いつかないようです。

正しい方向への助けや提案/プッシュは大歓迎です。

0 投票する
1 に答える
274 参照

ruby-on-rails-3 - Railsコンソール(または私のアプリ)を介してオブジェクトを更新することはできません...しかし、デバッグに役立つ特定のエラーはありません

これが私がやろうとしたことです:

アプリでこれを実行しようとすると(つまり、編集フォームを使用して)、次の問題が発生します。

オブジェクトのタイトルを編集できないようです。これは、オブジェクトに関連付けられているフレンドリIDにも相当します。

0 投票する
1 に答える
356 参照

ruby-on-rails - Friendly_id: オプションでスラッグを更新します

ユーザーが チェックボックスをクリックしてエントリのスラッグを更新できるようにしたいと考えています。

関数should_generate_new_friendly_idを知っています か? 、ただし、モデルで定義されており、params 属性を読み取ることができないため、この場合の使用方法はありません。

アイデアをありがとう!

0 投票する
1 に答える
893 参照

ruby-on-rails - Friendly_ID シーケンス番号レールの変更

すぐに使用できる Friendly_ID は、同様のエントリが存在する場合、スラッグの末尾に「--2」、「--3」... を追加します。

「sequence_separator」を変更できる場所はわかりましたが、「sequencer」と呼ぶものを見つけるのに苦労しています。私の投稿は 1 年に 1 回だけ重複するので、最後に乱数ではなく年を追加したいと思います。

Update 1 Yannick、正しい方向に向けてくれてありがとう。その方法についていくつかの調査を行い、ドキュメントと、これをまとめるのに役立つ良い質問を見つけました。

これは機能しますが、かなり複雑で面倒です。また、Active Admin を使用してレコードを追加する (近日中にアップロードする予定) 場合にもスラッグは生成されません。URL にレコード ID を残して、実際にはレコードを見つけるために使用されないテキストを最後に追加するのが最善かもしれないと考えています。

0 投票する
2 に答える
322 参照

ruby-on-rails - Friendly_id gem に別のモデルの属性を使用させるにはどうすればよいですか?

現在、メッセージ テーブルで Friendly_id を使用しています。メッセージは次のようにアクセスされます。

次のように使用したいと思います。

メッセージテーブルの「body」属性でテストしたところ、gem が正常に動作しました。短いメッセージ「テスト」を送信し、site.com/messages/test を使用してアクセスしようとしたところ、正常に動作しました。

ただし、これを行うにはユーザーのユーザー名を使用する必要があります。ユーザー名がユーザーテーブルに保存されているため、別のモデル属性にアクセスする方法があるかどうか疑問に思っていました。メッセージテーブルにいつでもユーザー名列を作成し、そこにユーザー名を保存することができますが、既にユーザー名列がある場合に別のユーザー名列を持つという考えは好きではありません。

私のテーブルはリンクされているので、users テーブルの ID と一致する send_id または recipient_id を使用して、メッセージの送信者または受信者のユーザー名を簡単に見つけることができます。

やりたいことをすばやく簡単に行う方法はありますか?それとも、メッセージ テーブルにユーザー名列を作成する必要がありますか?

敬具

0 投票する
1 に答える
155 参照

ruby-on-rails - モデルでFriendlyIdジェネレーターを使用する

FriendlyIdを拡張するモデルのインスタンスからFriendlyIDスラッグジェネレーターにアクセスする方法はありますか?

そして、それに文字列を渡して、一意のスラッグを生成しますか?

0 投票する
1 に答える
2786 参照

ruby-on-rails-3 - Friendly_ID Ruby on Rails

slugを使用した後でも、URLにはタイトルではなくIDが表示されます。次のようにコーディングします

index.html.erb

posts_controller.rb

終わり

ポストモデル

ルート.rb

リンクを「 localhost:8080 / posts / this + is + the + title」にし、「localhost:8080 / posts/2」にはしたくない

0 投票する
1 に答える
601 参照

ruby-on-rails - Friendly_idスコープの問題。数値ナメクジ

フレンドリIDを使用して、より多くのカスタムURLを作成しようとしています。ただし、スラッグに使用したい列はまだ数字です。スラッグのためだけに別の列を作成したくありません。同じになるからです。

オークションに属するロットがあります。オークションにはたくさんのロット(売り物)があります。

ロットには、オークションlot_numberに固有のがあります。ただし、テーブル全体で一意ではありません。これは基本的に、各オークションでロットを注文する方法にすぎません。

私のURLは次のようになります:/ auctions / 1 / lots / 21(/ auctions /:auction_id / lots /:id)
次のようにします:/ auctions / 1 / lots / 1(/ auctions /:auction_id / lots /:lot_number )。

lot.rbに以下を追加しました:

それはほとんど動作します。正しいロット番号のロットが表示されますが、オークションが間違っています。
私はFriendlyIDのドキュメントでスコープについて読みましたが、これは完璧に聞こえました。私はオークションに対して多くのスコープを設定することができました...
それで私は試しました:

次のエラーが表示されます。

SQLはなぜWHERE lots.slug = 1ですか?そうではないWHERE lots.auction_id = 1ですか?
間違った構文を使用していますか?どこが間違っているのかわからない。

どんな助けでもいただければ幸いです。ありがとう。

0 投票する
1 に答える
447 参照

ruby-on-rails - FriendlyId、railsを使用してパスを表示する方法

私の仕事は、ブラウジングバーで現在のカテゴリまたは製品のパスを確認できるようにすることです。

現時点では、このような現在のカテゴリを見ることができます

localhost:3000 / category / smalcinataji

でもこんな感じで欲しい

localhost:3000 / category / atkritumu-parstrades-tehnika / smalcinataji

きれいなURLを作成するために、この例のFriendlyIdというgemを使用していますhttp://railscasts.com/episodes/314-pretty-urls-with-friendlyid?view=asciicast

ありがとう!