我是铁路的新手,并尝试建立我的第一个网站,但在索引页面中遇到链接问题。该链接重定向到/recipes.1而不是/ recipes / 1。 我尝试/食谱/ 1时显示页面工作。
Index.html.erb
<% provide(:title, "Recipe") %>
<% @recipes.each do |recipe| %>
<%= link_to recipe.label, recipe%>
<%end%>
route.db
get 'recipe' => 'recipes#show'
get 'recipe' => 'recipes#new'
post 'recipe' => 'recipes#create'
resources :users
resources :recipes
recipes_controller.rb
def index
@recipes = Recipe.all
end
def show
@recipe = Recipe.find(params[:id])
end
答案 0 :(得分:1)
从 routes.rb :
中删除以下路线result.txt/
由于get 'recipe' => 'recipes#show'
get 'recipe' => 'recipes#new'
post 'recipe' => 'recipes#create'
为您生成所有这些路线,因此不需要上述路线。
希望它有所帮助!
答案 1 :(得分:0)
试试此代码
<% @recipes.each do |recipe| %>
<%= link_to recipe.label, recipe_url(recipe) %>
<%end%>
答案 2 :(得分:0)
使用
<%=link_to recipe.label, recipe_path(recipe)%>
而不是
<%= link_to recipe.label, recipe%>
答案 3 :(得分:0)
您已定义两次显示路径。 1.在手动定义的路径
get 'recipe' => 'recipes#show'
2。通过
resources :recipes
如果您执行rake routes
,那么您将首先选择使用/recipe
url为get方法创建路由,并将参数附加到其中,从而生成/recipes.1
路径。
还可以在从上到下方法中读取路径文件。使用show method的第一条路线。