Rails 3是否有获取主键的新方法?

问题描述

| 我正在尝试阅读一本学习Rails的书,但由于涉及Rails 2.something,我一直遇到路障。到现在为止,我一直可以解决它们,尽管脚本仍然可以正常运行,但是缺少一个功能... 我在ads_controller.rb中有以下代码
 class AdsController < ApplicationController
  def create
    @ad = Ad.new(params[:ad])
    @ad.save
  end
    def new
    @ad = Ad.new
  end


  def show
    @ad = Ad.find(params[:id])
  end


  def index
    @ads = Ad.find(:all)
  end

end
以下路线中的代码
    MeBay::Application.routes.draw do |map|

  map.connect \'/ads/new\',:controller=>\'ads\',:action=>\'new\'
  map.connect \'/ads/create\',:action=>\'create\'
  map.connect \'/ads/\',:action=>\'index\'
  map.connect \'/ads/:id\',:action=>\'show\'
  map.connect \':controller/:action/:id\'
  map.connect \':controller/:action;:id.:format\' 
new.html.erb中的以下内容
<h1>New Ad</h1>
<%= form_for @ad,:url=>{:action=>\'create\'} do |f| %>
    <p><b>Name:</b><br /><%= f.text_field:name %></p>
    <p><b>Description</b><br /><%= f.text_area:description %></p>
    <p><b>Price</b><br /><%= f.text_field:price%></p>
    <p><b>Seller</b><br /><%= f.text_field:seller_id%></p>
    <p><b>Email</b><br /><%= f.text_field:email %></p>
    <p><b>Image URL</b><br /><%= f.text_field:img_url %></p>
    <p> <%= f.submit \"Create\" %> </p>
<% end %>
以及create.html.erb中的以下内容
<h3>NEW AD CREATED FOR <%= @ad.name %>!</h3>
<a href=\"/ads/<% @ad.id %>\">Click To View</a>
发生什么情况,当我在新页面上单击提交按钮时,我转移到创建模板,该模板显示名称,但是无法从变量获取ID,因此返回到列表页面,但是假设返回到新创建的广告页面。(即/ ads / 7,但返回/ ads /) 是否存在语法问题或将其放入Rails 3的新方法?     

解决方法

更改:
<a href=\"/ads/<% @ad.id %>\">Click To View</a>
带有:
<a href=\"/ads/<%= @ad.id %>\">Click To View</a>
顺便说一句,为什么不使用URL帮助器?