3

Railsルートの使用に少し混乱しています。URL のカスタマイズについて提案が必要です。

これは私の現在のURLです

http://localhost:3000/posts/product/41?product_id=2

http://localhost:3000/posts/product/41?model_id=24&product_id=2

これは私のリンクです

<%= link_to product_model.name, controller: :posts,action: :product,product_id: params[:product_id],model_id: product_model.id

論理的には、製品が URL の最初に来る必要があります。しかし、モデルがここで最初に好む理由。

そして、私はこのような私のURLが必要です

http://localhost:3000/posts/product/41/mobile

http://localhost:3000/posts/product/41/mobile/nokia

私はレールルートに慣れていないので、ルートに特別なコーディングは書きませんでした

ここに単純なルートが存在します

resources :posts 
4

5 に答える 5

1

これをあなたのモデルに追加してくださいmodel.rb

  def to_param
    name
  end

次にshowメソッドに追加 @model = Model.find_by_name(params[:id])すると、上記のように URL を取得できます。

PS:スキーマにモデルテーブルの名前フィールドが必要です。

于 2013-10-04T04:19:26.557 に答える
1

名前空間ではないのはなぜですか?

namespace :posts do
  resources :products
end

これでいいと思います..

名前空間には、スコープに安静な ID が含まれていません。

于 2013-10-14T15:10:37.463 に答える