ruby-on-rails - Helper 中的动态路径

标签 ruby-on-rails dynamic path helpers

我正在尝试为我的管理链接创建一个辅助方法。在相当多的
我有代码

<% if current_user %>
<%= link_to "Edit", edit_model_path(model) %>
<%= link_to "New", new_model_path %>
<%= link_to "Delete", model, :confirm => "You're a Noob",  :method
=> :delete %>
<% end %>

仅在登录时显示这些。

我想代替他们做这样的事情
<%= admin_links(model) %>

并将当前项目传递给应用程序助手方法
def admin_links(m)
 if current_user
  a = "#{link_to "edit" edit_m_path(m)}"
  a << "#{link_to "new" new_m_path}"
  a << "#{link_to "Delete", m, :confirm => "Your a Noob",  :method
=> :delete}"
 end
end

或类似的东西。

最佳答案

基本上你需要将模型的类名转换成指向正确路径的东西。

model_name = m.class.to_s.underscore

然后用它来调用相应的路径方法
link_to "edit", send("edit_#{model_name}_path", m)

顺便说一句,您不需要将 link_tos 放在 #{} 中。因为该函数只返回一个字符串。

关于ruby-on-rails - Helper 中的动态路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1038770/

相关文章:

ruby-on-rails - 为什么 Rails 应用程序显示/公共(public)索引列表而不是实际应用程序?

javascript - 动态选项卡 - 加载多个子项 PER 选项卡

java - Eclipse Java获取路径程序

Python:当前目录是否自动包含在路径中?

ruby-on-rails - 在 Rails 中的 send_file 之后删除文件夹

ruby-on-rails - 使用子域在 rails 2.3.2 应用程序中丢失 session

ruby-on-rails - 如何使用 rspec 测试使用 rails runner 制作的预算

algorithm - 矩阵链乘法动态规划

reflection - Scala 中的动态属性

java - 调用另一个 JAR 的 JAR