我是Ruby on Rails的新手。我有一个'州'表。我有一个观点(比如说视图1)列出一个国家的所有州。当用户点击州名时,他/她将被带到另一个视图(例如视图2),其中包含所选州的详细信息。
我正在尝试使用find
方法。但只能将状态名称(在视图1中)链接到视图2。
我是否需要将状态名称(从视图1)传递给变量并在第二个视图中使用该变量,即视图2?
这是在索引视图
<% @cds.each do |cd| %>
<h5><%= link_to cd.name :action=>:lwstlevel%></h5>
这是控制器。
def index
@cds = Cd.all
end
def lwstlevel
@x = Cd.find(params[:name])
end
这是lwstlevel视图
<h2>Welcome to <%= @x.name %> </h>
<p> <%= @x.dscr %> </p>
Cd是我的'州'表。在索引视图中,如果用户单击任何状态名称,则必须将其导航到lwstlevel视图,该视图应显示该状态的详细信息。 希望这就足够了。我尝试了几件事,但都没有给出预期的结果。
答案 0 :(得分:1)
更改
<%= link_to cd.name, :action => :lwstlevel %>
到
<%= link_to cd.name, :action => :lwstlevel, :id => cd.name %>
和
def lwstlevel
@x = Cd.find(params[:name])
end
到
def lwstlevel
@x = Cd.find(params[:id])
end
将名称更改为id是id是成员操作的默认值,但您可以将其保留为名称。