如何在另一个视图中显示用户单击的值

时间:2011-12-11 14:02:15

标签: ruby-on-rails model-view-controller methods views controllers

我是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视图,该视图应显示该状态的详细信息。 希望这就足够了。我尝试了几件事,但都没有给出预期的结果。

1 个答案:

答案 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是成员操作的默认值,但您可以将其保留为名称。