これは実際には予想よりも簡単です。
まず、あなたのルートを設定:
# config/routes.rb
MyApp::Application.routes.draw do
match '/product_info' => 'products#show'
end
Railsは、通常、PHPファイルを提供しませんので、あなたが.php
のMIMEタイプのハンドラを作成する必要があります:
セットアップ
# config/initializers/mime_types.rb
Mime::Type.register_alias 'text/html', :php
products#show
URLパラメータに基づいて製品を検索するアクション。あなたはtext/html
にphp
MIMEタイプをエイリアスので、あなたは「PHP」ビューをレンダリングするために特別な何かをする必要はありません。
# app/controllers/products_controller.rb
class ProductsController < ApplicationController
def show
@product = Product.find(params[:products_id])
end
end
あなたがしているので、あなたは、手動でproduct_path
ヘルパーメソッドを作成する必要がありますRESTfulなルートを使用していない:
# app/helpers/products_helper.rb
module ProductsHelper
def product_path(product)
"/product_info.php?products_id=#{product.id}"
end
end
は今ちょうどあなたのビューを作成します。
# app/views/products/show.php.erb
<%= link_to @product.name, @product %>
これはあなたがたくさんのOを処理する必要がある、またはあるだけで、このようなURL構造であり、異なるもの? – Brandan
これを含む2つのURL構造があります。それらは、何年もの間、検索エンジンのインデックスに登録されていたURLなので、今は別のURLに変更する余裕がありません。あとで301のリダイレクトを行って、それらのインデックスを再作成することもできますが、今はできません。 – Shohrukh