這實際上比我預期的更直接。
首先,設置您的路線:
# config/routes.rb
MyApp::Application.routes.draw do
match '/product_info' => 'products#show'
end
因爲Rails不正常服務PHP文件,你需要創建一個MIME類型處理程序.php
:
# config/initializers/mime_types.rb
Mime::Type.register_alias 'text/html', :php
設置您的products#show
操作根據URL參數查找產品。既然你使用了別名php
MIME類型text/html
,你沒有做什麼特別呈現「PHP」的觀點:
# app/controllers/products_controller.rb
class ProductsController < ApplicationController
def show
@product = Product.find(params[:products_id])
end
end
您必須手動創建product_path
helper方法,因爲你不使用REST風格的路線:
# 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 %>
這是你需要處理,還是有很多○只有這樣的URL結構f不同的? – Brandan 2012-02-25 00:57:29
有兩個這樣的URL結構,包括這個。這些是已經在搜索引擎索引多年的URL,我們現在不能將它們改變爲其他的東西。也許以後我們可以做301重定向重新索引它們,但不是現在。 – Shohrukh 2012-02-25 10:13:32