在" new.html.erb"上显示查询结果包含rails中的文本字段和按钮

时间:2015-02-23 22:32:36

标签: ruby-on-rails partial-views

我正在研究rails并且必须提交一些作业。我正在使用无表格模型,我将信息存储在散列中,并尝试根据文本字段中输入的信息搜索散列并由用户提交。为此,我在“new.html.erb”上创建了一个表单,其中包含两个文本字段和一个提交按钮。

<%= form_for(@travel) do |f| %>  

                          <table>
                            <tr>
                                <td></td> <td><input  type="text" 

class="inputs" id="tagsd" onblur="getname()" placeholder="Departure"></td>  
<td><%= f.hidden_field :departure, :id => "dep" %> </td>
                            </tr>

                            <tr>
                                <td></td><td><input  type="text" 
class="inputs" id="tagsa" onblur="getname()" placeholder="Arrival"> <td/> 
<td><%= f.hidden_field :arrival, :id => "arr"%></td>
                            </tr>
                            <tr>
                                <td></td><td><%= f.submit :Search, :class => 
'myButton' %></td>
                            </tr>
                          </table>  



                          <%end%>

然后在控制器中,我有

  def new
    @travel=Travel.new
  end


def create

    @travel=Travel.new(params[:id])
    if @travel.valid?
        @departure=params[:travel][:departure]  #GETS THE DEPARTURE KEY
    @arrival=params[:travel][:arrival]  #GETS THE ARRIVAL KEY       

   #redirect_to params.merge!(:action => :myquery)
      redirect_to  :action => 'myquery', :departure => @departure, :arrival 
      => @arrival

     else
      render("new")

    end



 end

然后我定义了“myquery”动作,其中我有多个计算变量和
(我将只展示存储结果的变量以保存空间)

 def myquery
    @departure_tram_stop= @temp_dep
    @direction1= "West"
    @change=""
    @direction2=""

    .....

    @arrival_tram_stop=   @temp_a
 end

然后我定义了一个“_myquery.html.erb”partial来将结果显示为:

  <table>
<tr>
    <td> <img src="walk.png" width="15" height="25"></td><td> Walk to 
 <strong><font color="blue"> Ayat <%= @departure_tram_stop%></font></strong> 
 tram station</td>
</tr>

<tr>
     <td width="15" height="25"> </td><td> take tram going to <strong> <font 
color="red"> <%= @direction1%></font> </strong>direction <%= @change_m1%>
<strong><font color="blue"><%= @change%></font></strong> <%= @change_m2%>
<strong>
        <font color="red"><%=@direction2%></font></strong></td>
</tr>

<tr>
    <td></td><td> and get off at <strong> <font color="blue"><%= 
  @arrival_tram_stop%></font></strong> tram station</td>
</tr>




</table>

 <br />

我希望这个“_myquery.html.erb”能够在包含的“new.html.erb”上呈现。所以我在“new.html.erb”

的末尾添加了以下内容
 <%= render :partial => "myquery.html.erb" %>   

一切正常,我从查询中得到了我期望的值。我的问题是,部分是在另一个页面上执行而不是显示在表单底部的“new.html.erb”上。我希望“_myquery.html.erb”部分显示在“new.html.erb”上的表单底部

我很感激每一次帮助,因为我的时间紧迫。谢谢你们。

0 个答案:

没有答案