你可以从部分内部获得Rails部分名称吗?

时间:2013-06-20 14:27:05

标签: ruby-on-rails partial-views

是否有一个变量包含可从部分内部访问的部分名称?

render :partial => 'foo'

在_foo.haml:

.name
  = partial_name # would output "foo" 

2 个答案:

答案 0 :(得分:4)

__FILE__将为您提供文件名

<% __FILE__.split("/").last.sub(/^_/, "") %>

答案 1 :(得分:2)

在你的部分:

    <%= partial_class(__FILE__) %>

在application_helper中:

    def partial_class(partial)
        partial.split(".").first.split("/").last.sub(/^_/, "")
    end

结果:部分是&#39; _customer-existing.html.erb&#39;,输出是&#39;客户存在&#39;。我经常在部分内部的包装器div上使用这个类名,这样我就可以在jquery中使用相同的名来显示/隐藏部分名称。

示例:

<div class='<%= partial_class(__FILE__) %>'>
  stuff here that will be show/hideable by partial name.
</div>