Ruby on rails 如何根据app controller中的变量添加图像/模板/js/css加载路径?
因此,我有一群合作伙伴,他们的模板和图像存储在视图、public/images、public/stylesheets、public/javascripts目录下 例如,合作伙伴“foo”的图像存储在Ruby on rails 如何根据app controller中的变量添加图像/模板/js/css加载路径?,ruby-on-rails,ruby,Ruby On Rails,Ruby,因此,我有一群合作伙伴,他们的模板和图像存储在视图、public/images、public/stylesheets、public/javascripts目录下 例如,合作伙伴“foo”的图像存储在public/images/foo 此合作伙伴是一个实例变量@partner,可在应用程序级别访问 问题是,我到处都在这样做:或在控制器的位置内: 问题的加载路径部分而不是使用帮助程序的一个原因是:我们必须特别地“/locations/#{@partner}/index”%>,因为Rails默认情况下
public/images/foo
此合作伙伴是一个实例变量@partner
,可在应用程序级别访问
问题是,我到处都在这样做:
或在控制器的位置内:
问题的加载路径部分而不是使用帮助程序的一个原因是:我们必须特别地
“/locations/#{@partner}/index”%>
,因为Rails默认情况下在/locations/index中查找
我怎样才能让自己更轻松呢?一旦我有了@partner
,我如何添加到加载路径
使用Ruby 1.8.7和Rails 2.3.4在控制器中重定向是非常糟糕的做法 你应该这样做:
redirect_to get_path(@partner)
然后在你的控制器里
def get_path(partner)
case partner
when "partner1"
partner1_path
...
end
end
关于你的图片,你应该创建一个助手
def get_pic(partner, image)
image_tag "/images/#{partner}/#{image}"
end
在你看来
<%= get_pic(@partner, "image.jpg" %>
您在控制器中的重定向是非常糟糕的做法 你应该这样做:
redirect_to get_path(@partner)
然后在你的控制器里
def get_path(partner)
case partner
when "partner1"
partner1_path
...
end
end
关于你的图片,你应该创建一个助手
def get_pic(partner, image)
image_tag "/images/#{partner}/#{image}"
end
在你看来
<%= get_pic(@partner, "image.jpg" %>
是的,整个代码库都是糟糕的做法。因此,最好通过使用helpers来解决这个问题?问题的加载路径部分的一个原因是,我们必须特别地“/locations/{@partner}/index”%>
,因为Rails默认情况下在/locations/index中查找。编辑后将其添加到原始帖子中。是的,整个代码库都是糟糕的做法。因此,最好通过使用helpers来解决这个问题?问题的加载路径部分的一个原因是,我们必须特别地“/locations/{@partner}/index”%>
,因为Rails默认情况下在/locations/index中查找。编辑以将其添加到原始帖子。