Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何根据app controller中的变量添加图像/模板/js/css加载路径?_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 如何根据app controller中的变量添加图像/模板/js/css加载路径?

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、public/stylesheets、public/javascripts目录下

例如,合作伙伴“foo”的图像存储在
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中查找。编辑以将其添加到原始帖子。