2

複数のリソースの名前を受け取り、対応するリンクを返すヘルパー メソッドを作成しようとしています。メソッドの本質は次のとおりです。

def get_link(resource)
  link_to "#{resource.capitalize}", resource_path
end

――明らかにresource_path上の部分が動かない。私が望むのは、passfoosと getfoos_pathなどbarsを渡すことができるようにbars_pathすることです。どうすればそれを行うことができますか? 構文がよくわかりません。

4

3 に答える 3

7

def get_link(resource)
  link_to "#{resource.capitalize}", send("#{resource}_path")
end
于 2009-04-13T17:04:35.730 に答える
2
def get_link(リソース)
  link_to(resource.to_s.titleize, send("#{resource}_path"))
終わり

リソースに対する to_s 呼び出しは、シンボルをリソースとして渡すことをサポートするためのものです。そう

get_link("foos")

動作し、また

get_link(:foos)
于 2009-04-13T18:31:24.723 に答える
0

メンバーを使用して RESTful ルートを構築する場合:

send("edit_#{resource}_path".to_sym, @resource)
于 2010-03-30T20:48:42.160 に答える