我有類似下面的命名路線:Rails的複雜的路由,更容易命名路由助手
map.with_options :path_prefix => '/:username', :controller => 'questions' do |q|
q.question '/:id', :action => 'show', :conditions => { :method => :get }
end
我們產生一個特定的問題,我必須寫
question_path(:id => @question.id, :username => @question.user.username)
的URL,這是非常繁瑣。我希望能寫
question_path(@question)
# or even
link_to 'Question', @question
並且得到想要的結果。
這怎麼可能?我想我必須覆蓋默認的幫手來實現這一點。
的事情是,我的網址是這樣的:用戶名/:question_id,我認爲它不爲此而工作。您建議的解決方案是否會促進URL生成? – fphilipe 2010-06-02 20:17:30
爲什麼你需要這個網址?這是客戶要求嗎? 如果不是的話,我強烈建議在rails中使用慣例,在你的例子中,/ users /:user_id/questions /:id – robertokl 2010-06-02 20:42:07
我需要這種格式,因爲/ users /:user_id/questions /:id太長了,我甚至會在id後面顯示標題段落,例如:'/ john/425-whats-going-on' – fphilipe 2010-06-03 07:09:57