目前,我已经创建了一个包含5个学区的应用程序。一切正常,因为每个学区都有app / assets / images中的学校徽标。
如果当前网址包含该学区的ID,我想显示每个学区的徽标。
Ex.
###These URLs should all display the Logo for District 1
districts/1/students
districts/1
districts/1/faculties
目前,如果网址与地区ID匹配,我找到了显示徽标的方法。 但是,由于我添加了除StaticPages Controller之外的更多控制器,因此效率非常低。
EX.
If I have a url like this /events/1
I will get an error unless I add the Events Controller to the conditional
如何更改代码,以便在网址包含区域ID的情况下显示相应的区徽,而无需将其他所有控制器添加到条件?
视图
###StaticPages Controller
<% if params[:controller] == 'static_pages' %>
Welcoming Practices
<% elsif @districts %>
Welcoming Practices
###Checks district ID
<% elsif @district.id == 1 %>
<%= link_to "#{image_tag("bonsall_logo.png")} Bonsall Unified District".html_safe, "1" %>
<% elsif @district.id == 2 %>
<%= link_to "#{image_tag("chulavista_logo.png")} Chula Vista School District".html_safe %>
<% elsif @district.id == 3 %>
<%= link_to "#{image_tag("fallbrook_logo.gif")} Fallbrook School District".html_safe %>
<% elsif @district.id == 4 %>
<%= link_to "#{image_tag("oceanside_logo.gif")} Oceanside School District".html_safe %>
<% elsif @district.id == 5 %>
<%= link_to "#{image_tag("temecula_logo.png")} Temecula Valley School District".html_safe %>
<% end %>
答案 0 :(得分:1)
你有几个选择..其中两个是:
/:controller/:district_id
格式,而不是从@district.id
中选择图片,您可以根据params[:district_id]
PS - 您应该将文件路径存储在District
模型/表中,这样您就不必从硬编码值创建image_tags。