我正在尝试在我的rails应用程序中查询包含吉他标签存档的mysql数据库。我只是想查询数据库,将每个标签的id,artist,song和url分配给我的TabsController中的变量,以显示在我的tab.html.erb视图中。这是我的代码:
class TabsController < ApplicationController
def show
@tabs = Tab.find_by_sql("Select * from gp where artist='led zeppelin'")
respond_to do |format|
format.html # show.html.erb
format.json { render json: @tabs} #
end
end
end
我的查询成功,在我看来它会显示所有标签的json响应。我的挑战是将吉他标签id,艺术家,歌曲和网址分配给不同的变量。我觉得解决方案很简单,但我很难过。
答案 0 :(得分:0)
您告诉浏览器响应格式将是json,因此您将无法以不同方式格式化。如果您只是想显示所有标签,为什么不让您的操作更简单:
def show
@tabs = Tab.find_by_sql("Select * from gp where artist='led zeppelin'")
end
然后在show.html.erb
中它看起来像(我假设你的数据结构是什么)
<% @tabs.each do |tab| %>
ID: <%= tab.id %>
Artist: <%= tab.artist %>
Song: <%= tab.song %>
URL: <%= tab.url %>
<% end %>
答案 1 :(得分:0)
class TabsController < ApplicationController
def show
@tabs = Tab.find_by_sql("Select * from gp where artist='led zeppelin'")
respond_to do |format|
format.html # show.html.erb
format.json { render json: @tabs.map{|t| {:id => t.id, :artist => t.artist, ...}}}
end
end
end