所以我想动态地拥有new_course_discussion_path(@discussable)或new_group_discussion_path(@discussable),具体取决于@discussable类类型。如何将消息(@discussable)传递给此方法?我试过了:
"new_#{@discussable.class.to_s.downcase}_discussion_path".constantize(@discussable)
但这表示“错误的参数数量(1表示0)”。我是铁杆新手。请帮忙!感谢。
更新: 现在,整行是
= link_to '>New Discussion', "new_#{@discussable.class.to_s.downcase}_discussion_path".constantize(@discussable)
答案 0 :(得分:2)
send "new_#{@discussable.class.to_s.downcase}_discussion_path", @discussable
路径助手是方法而不是类。它们可以从控制器,视图和辅助方法访问,如果你不符合send
调用的条件,它将调用自己的方法。
答案 1 :(得分:1)
您正在寻找Object.send method。