2012-12-06 27 views
0

我有一個控制器改變控制器的名稱在URL是否有可能在Rails的

emppedes 

其正常,當我想在URL來調用這個我看到

localhost:3000/emppedes 

和整個內容相關的出現。

但我可以匹配該控制器給他人軌名稱,以便當我點擊它,我可以在URL得到像

localhost:3000/employees 

沒有URL內而外改變控制器,你可以看到這一點。 我的意思是我可以編碼的地方像

`emppedes will display as employees in URL.` 

是否有可能。可能我的問題很愚蠢,但我想知道它是否可行。 在編輯我有兩個發送兩個不同的ID和在控制器也更新我必須發送兩個ID。 對於編輯我的代碼是這樣

<%= link_to 'Edit', { :action => "edit",:id => @emppede.id,:ad => @id},:class=>"btn btn-success" %> | 

,因爲我已經在控制器 兩柄兩段ID也用於更新

@id= @emppede.ad 

if @emppede.save 
     format.html { redirect_to :action => :index, :id => @emppede.ad } 
     format.json { render json: @emppede, status: :created, location: @emppede } 

如何發送兩個參數:標識和:廣告無論是在軌道路徑甲? 因爲我的控制器是這樣

def index 
     @id = params[:id] 
     @data = Emppede.where(:ad => @id) 
    if @data.count > 0 
     @data.each do |data| 
     @ids= data.id 
     end 
     redirect_to :action => :show, :id => @ids, :ad => @id 
    else 
     redirect_to :action => :new, :id => @id 
    end 
    end 
+0

現在你已經改變了你的問題,以兩個不同的東西。將它分成兩個問題可能會更好。 – gcastro

+0

我不知道我在下半場得到了什麼。我們需要更多的澄清。如果廣告是Emppede的一部分,爲什麼還需要兩個參數?你爲什麼重定向顯示多個ID?爲什麼你將索引重定向到新的? – gcastro

+0

一個ID是用戶ID是params [:ad] other是作爲數據的id的params [:id]。 – regmiprem

回答

6

是的,你可以指定控制器使用任何給定的資源:

resources :employees, :controller => "emppedes" 

或者,如果你喜歡Ruby 1.9的語法:

resources :employees, controller: "emppedes" 

有關更多詳細信息,請參閱Rails Guide: Routing

+0

它只適用於第一次編輯索引,查看下一次不起作用。任何解決方案 – regmiprem

+1

如果您聲明員工是您想要使用員工助手的資源。對於編輯,您可以使用edit_employee_path(id)。如果您將路由助手用於其他資源,它顯然不會遵循員工模式。請參閱我鏈接的Rails指南中的示例。 – gcastro

+0

在這裏我必須發送ID和廣告。我怎樣才能發送兩個參數?你可以看到我更新的問題。 – regmiprem

0

你會想要做的是傳中:路徑選項

資源:員工:路徑=>「emppedes」

這與/員工/ emppedes取代所有路線引用

參見:http://guides.rubyonrails.org/routing.html,第4.7節翻譯路徑

+0

在這裏我必須發送ID和廣告。我怎樣才能發送兩個參數?你可以看到我更新的問題 – regmiprem

+0

如果我理解它是正確的,這意味着語言翻譯,而不一定映射。 – gcastro

0

嘗試使用您的初始化文件拐點

ActiveSupport::Inflector.inflections do |inflect| 
    inflect.irregular 'employees', 'emppedes' 
    end 
+0

這將是一個非常醜陋的黑客濫用ActiveSupport :: Inflector的靈活性遠遠超出其預期的用途。該文檔的使用非常清晰:「Inflector將單詞轉換爲單數形式,類名稱轉換爲表名,模塊化類名轉換爲無,以及類名轉換爲外鍵」。 – gcastro

1

您可以使用routes.rb中下面爲您查詢

match '/employees/:id/:ad(.:format)' => 'emppedes#index', :via => :get, :as => :employees 
resources :emppedes, :as => 'employees' 
+0

發生同樣的錯誤。 – regmiprem

+0

我只爲索引操作單獨添加了URl。我希望你在編輯操作中遇到錯誤。這樣對嗎? – shivashankar

+0

是的,你是對的。但問題是它沒有在URL中顯示員工。它顯示了運動。 – regmiprem