問題タブ [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.
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からページにアクセスできるようにしたくありません。
誰かがこれを達成する方法を知っていますか?
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 のメソッドです
これを修正する方法が思いつかないようです。
正しい方向への助けや提案/プッシュは大歓迎です。
ruby-on-rails-3 - Railsコンソール(または私のアプリ)を介してオブジェクトを更新することはできません...しかし、デバッグに役立つ特定のエラーはありません
これが私がやろうとしたことです:
アプリでこれを実行しようとすると(つまり、編集フォームを使用して)、次の問題が発生します。
オブジェクトのタイトルを編集できないようです。これは、オブジェクトに関連付けられているフレンドリIDにも相当します。
ruby-on-rails - Friendly_id: オプションでスラッグを更新します
ユーザーが チェックボックスをクリックしてエントリのスラッグを更新できるようにしたいと考えています。
関数should_generate_new_friendly_idを知っています か? 、ただし、モデルで定義されており、params 属性を読み取ることができないため、この場合の使用方法はありません。
アイデアをありがとう!
ruby-on-rails - Friendly_ID シーケンス番号レールの変更
すぐに使用できる Friendly_ID は、同様のエントリが存在する場合、スラッグの末尾に「--2」、「--3」... を追加します。
「sequence_separator」を変更できる場所はわかりましたが、「sequencer」と呼ぶものを見つけるのに苦労しています。私の投稿は 1 年に 1 回だけ重複するので、最後に乱数ではなく年を追加したいと思います。
Update 1 Yannick、正しい方向に向けてくれてありがとう。その方法についていくつかの調査を行い、ドキュメントと、これをまとめるのに役立つ良い質問を見つけました。
これは機能しますが、かなり複雑で面倒です。また、Active Admin を使用してレコードを追加する (近日中にアップロードする予定) 場合にもスラッグは生成されません。URL にレコード ID を残して、実際にはレコードを見つけるために使用されないテキストを最後に追加するのが最善かもしれないと考えています。
ruby-on-rails - Friendly_id gem に別のモデルの属性を使用させるにはどうすればよいですか?
現在、メッセージ テーブルで Friendly_id を使用しています。メッセージは次のようにアクセスされます。
次のように使用したいと思います。
メッセージテーブルの「body」属性でテストしたところ、gem が正常に動作しました。短いメッセージ「テスト」を送信し、site.com/messages/test を使用してアクセスしようとしたところ、正常に動作しました。
ただし、これを行うにはユーザーのユーザー名を使用する必要があります。ユーザー名がユーザーテーブルに保存されているため、別のモデル属性にアクセスする方法があるかどうか疑問に思っていました。メッセージテーブルにいつでもユーザー名列を作成し、そこにユーザー名を保存することができますが、既にユーザー名列がある場合に別のユーザー名列を持つという考えは好きではありません。
私のテーブルはリンクされているので、users テーブルの ID と一致する send_id または recipient_id を使用して、メッセージの送信者または受信者のユーザー名を簡単に見つけることができます。
やりたいことをすばやく簡単に行う方法はありますか?それとも、メッセージ テーブルにユーザー名列を作成する必要がありますか?
敬具
ruby-on-rails - モデルでFriendlyIdジェネレーターを使用する
FriendlyIdを拡張するモデルのインスタンスからFriendlyIDスラッグジェネレーターにアクセスする方法はありますか?
そして、それに文字列を渡して、一意のスラッグを生成しますか?
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」にはしたくない
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ですか?
間違った構文を使用していますか?どこが間違っているのかわからない。
どんな助けでもいただければ幸いです。ありがとう。
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
ありがとう!