dynamic rails helpers (eg. link_to method, method)

2019-05-12 04:06发布

问题:

I was wondering how to get some dynamic abilities for my rails helpers:

<h3><%= link_to object.name, ("#{object.class_path.to_s}")_path(object) %></h3>

In this case, throwing it the object's class into a link to. I'm getting confused on how to throw a method within a helper method.

Any advice would be greatly appreciated!

回答1:

You're trying to link to the instance of the object?

<%= link_to object.name, object %>

Rails can construct a #show link from that.

You can use polymorphic_path for more complicated/nested situations:

<%= link_to object.name, polymorphic_path([:edit, @user, object]) %>

...as a synonym for edit_user_#{object.class}_path(@user,object)



回答2:

I seem to have solved this by doing this instead:

<%= link_to object.name, url_for(object) %>

Are there any performance or usability issues using url_for instead of something_path? Is there any difference at all?