我正在尝试添加一个指向blog_post的链接,在这种情况下使用blog.link
例如,如果myblog.link = new_contact_path,则为“new_contact_path”。
在我看来,我正在尝试使用创建链接
<%= @blogs.each do |blog| %>
<%= link_to blog.title, blog.link %>
<%end %>
我尝试使用#{blog.link},但这不起作用。 我最后还尝试了别的东西。我会在答案中发布。
答案 0 :(得分:4)
您无法将字符串转换为变量,原因很简单,变量不是Ruby中的对象。如果要将字符串转换为变量,可以通过调用字符串上的方法或通过调用其他对象上的方法将字符串作为参数传递来实现。无论哪种方式,变量都必须由方法返回,但方法只能返回对象,而变量不是对象。
答案 1 :(得分:0)
根据您的情况,我猜您应该使用Object#send或Object#public_send方法:
'qwe'.send('upcase') # => "QWE"
答案 2 :(得分:0)
我做的是做了一个辅助方法。
def blog_action_link(link)
case link
when "person"
new_person_path
when "place"
places_path
else
new_contact_path
end
end
然后我在我的视图中使用了帮助器。