我的部分模板中有一个链接:
link_to 'Add', new_photo_path
但我希望共享这个部分模板。有没有办法自动制作'new_CONTROLLER_path'网址?必须用电流控制器替换CONTROLLER。
答案 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_with
,link_to
,render
,redirect_to
,form_for
等
子>
答案 1 :(得分:-1)
尝试这样的事情:
link_to 'Add', eval("new_#{params[:contoller].singularize}_path")
params[:contoller].singularize
将返回photo
或与请求eval相关的任何控制器名称将休息。