ruby-on-rails 你能从一个部分中得到一个Rails部分的名字吗?

z4bn682m  于 2023-10-21  发布在  Ruby
关注(0)|答案(3)|浏览(119)

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

render partial: 'foo'

_foo.haml中:

.name
  = partial_name # would output "foo"
6bc51xsx

6bc51xsx1#

__FILE__将给予文件名

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

pkmbmrz72#

在你的部分:

<%= partial_class(__FILE__) %>

在application_helper中:

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

结果:部分为'_customer-existing.html. erb',输出为'customer-existing'。我经常在partial内部的 Package 器div上使用这个类名,这样我就可以在jquery中使用相同的名称来显示/隐藏partial。
范例:

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

z9smfwbn3#

你可以在application_helper中使用一个helper,并使用ruby的内省功能,这样你就不必像Mikes answer中那样显式地传递FILE

def foo                                                                                                                 
  caller_locations(1, 1).first.path                                                                                     
end

相关问题