如何在模板中创建一个new_X_path url

时间:2015-09-08 13:54:47

标签: ruby-on-rails ruby

我的部分模板中有一个链接:

link_to 'Add', new_photo_path

但我希望共享这个部分模板。有没有办法自动制作'new_CONTROLLER_path'网址?必须用电流控制器替换CONTROLLER。

2 个答案:

答案 0 :(得分:1)

试试这个:

link_to 'Add', [:new, params[:controller].singularize]

在内部,Rails会将[:new, params[:controller].singularize]转换为对new_controller_name_path的调用(例如,如果控制器posts然后[:new, params[:controller].singularize]生成路径助手new_post_path })。

<子>  期望路径的大多数(如果不是全部)Rails方法也会采用资源的对象表示形式,例如respond_withlink_torenderredirect_toform_for

答案 1 :(得分:-1)

尝试这样的事情:

link_to 'Add', eval("new_#{params[:contoller].singularize}_path") 

params[:contoller].singularize将返回photo或与请求eval相关的任何控制器名称将休息。