ruby-on-rails 日常锻炼的轨道路线

k5hmc34c  于 2023-05-30  发布在  Ruby
关注(0)|答案(1)|浏览(137)

现在我有一个模型叫做锻炼和React。在我的行程中,我有

resources :exercise, param: :title do
    resources :response
end

我正在尝试重写url,这样当用户访问/daily-exercise时,它将显示与/exercise/:title/responses/new相同的视图,但浏览器上的url仍然是/daily-exercise。有人知道怎么做吗?
编辑:我忘了提这个,但是练习每天都在变化,所以我必须将URLMap到不同的操作,例如exercises#daily_exercise

ruoxqz4g

ruoxqz4g1#

在exercises控制器中创建一个Map到#show操作的新自定义路由:

get '/daily-excercise', to: ' responses#show'

问题是你需要一种方法来拉入当天锻炼的参数。您可以通过编程方式设置此参数,如果控制器中每天都有ID,则忽略该ID。

before_filter :define_exercise, only: :new

def define_exercise
  if request.fullpath.match(/daily-exercise/)
    @excercise = Excercise.find_by_exercise 
  else
    @exercise.find(params[:title])
  end
end

如前所述,如果需要将id作为参数传入:

get '/:title/daily-excersise', to: 'responses#show'

相反,创建另一个控制器action #daily_exercise,但这不是很RESTful。
http://guides.rubyonrails.org/routing.html#singular-resources

相关问题