Ruby on rails Rails-将“U重定向到控制器中的错误-”;页面不是';t正确重定向“&引用;
在学习Rails的过程中,请原谅我的noob问题 我想做的是: 有一个text_field_标记,允许用户输入项目id。然后我想获取该值并将其用作url中的参数。 前任。 用户在文本框中键入“4Qe6”,然后单击提交。然后页面导航到“trckr.net/tracker/track/4Qe6” 以下是我表格的代码:Ruby on rails Rails-将“U重定向到控制器中的错误-”;页面不是';t正确重定向“&引用;,ruby-on-rails,redirect,controller,Ruby On Rails,Redirect,Controller,在学习Rails的过程中,请原谅我的noob问题 我想做的是: 有一个text_field_标记,允许用户输入项目id。然后我想获取该值并将其用作url中的参数。 前任。 用户在文本框中键入“4Qe6”,然后单击提交。然后页面导航到“trckr.net/tracker/track/4Qe6” 以下是我表格的代码: <h1>Tracker#index</h1> <p>This is the landing page</p> <p> &
<h1>Tracker#index</h1>
<p>This is the landing page</p>
<p>
<u> Track an item: </u>
<%= form_tag(:action => 'track') do %>
Item ID: <%= text_field_tag(:id) %>
<%= submit_tag('Track Item') %>
<% end %>
</p>
如果使用不同的操作,则无法使用在控制器中设置的实例变量
新控制器代码:
def track
puts "navigating to track view"
end
#redirects to track after retrieving the url parameters
#want a url parameter so users can link to the page
def track_helper
@id = params[:id]
redirect_to "/tracker/track/#{@id}"
end
但是无法访问轨迹视图@id:
<h1>Tracker#track</h1>
<p>This page will be used to view an items details</p>
<p><b>Item id: <%= @id %> </b></p>
<%= link_to("Back to index" , {:action => 'index'}) %>
我想这是因为重定向路径由发送此请求的同一操作(和控制器)处理。您可以为它创建一个新操作,也可以将其路由到另一个处理程序。因此,这修复了错误。但是现在我无法访问重定向页面上的实例变量。我用新评论编辑了我的帖子。回答了我自己的问题。谢谢
Calvins-Air:trckr Calvino$ rake routes
root / tracker#index
/:controller(/:action(/:id))(.:format) :controller#:action
def track
puts "navigating to track view"
end
#redirects to track after retrieving the url parameters
#want a url parameter so users can link to the page
def track_helper
@id = params[:id]
redirect_to "/tracker/track/#{@id}"
end
<h1>Tracker#track</h1>
<p>This page will be used to view an items details</p>
<p><b>Item id: <%= @id %> </b></p>
<%= link_to("Back to index" , {:action => 'index'}) %>
def track
puts "navigating to track view"
@id = params[:id]
end