[問題] 關於scaffold的問題

看板Ruby作者 (阿川)時間14年前 (2010/10/23 15:27), 編輯推噓3(308)
留言11則, 6人參與, 最新討論串1/1
環境: e.g. Ruby 1.8.6 Rails 2.0.2 狀況: 我用ruby script/generate scaffold user name:string 創了一個紀錄名字的系統 對於它的MVC運作方式有點想不通 想請教大家 打開server之後 在首頁點選New user 填入姓名之後點選Create會顯示這樣的畫面 User was successfully created. Name: Kevin Edit | Back 回頭看它的controller 發現有這樣一段 def create @user = User.new(params[:user]) respond_to do |format| if @user.save flash[:notice] = 'User was successfully created.' format.html { redirect_to(@user) } format.xml { render :xml => @user, :status => :created, :location => @user } else format.html { render :action => "new" } format.xml { render :xml => @user.errors, :status => :unprocessable_entity } end end end 根據畫面顯示的'User was successfully created.'  我想就是跟create這個action有關吧 接著回頭看的view的部分(new.html.erb) <h1>New user</h1> <%= error_messages_for :user %> <% form_for(@user) do |f| %> <p> <b>Name</b><br /> <%= f.text_field :name %> </p> <p> <%= f.submit "Create" %> </p> <% end %> <%= link_to 'Back', users_path %> 內容只是對@user填入資料 接著submit出去 而controller內關於new的部分是 def new @user = User.new respond_to do |format| format.html # new.html.erb format.xml { render :xml => @user } end end 請問是哪一部分決定了 接收到view所submit出來資料之後的動作? 思考了很久都不知道為什麼會進入create這個action  在controller或是view裡面都沒出現"create"這個字不是嗎?(那個按鈕名稱除外) 想請教各位大大 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.7.59

10/23 15:32, , 1F
config/route.rb 裡的 resources :users 決定的
10/23 15:32, 1F

10/23 15:35, , 2F
10/23 15:35, 2F

10/23 15:52, , 3F
好的 我馬上來研究一下
10/23 15:52, 3F

10/23 15:52, , 4F
謝謝
10/23 15:52, 4F

10/23 21:46, , 5F
good認真哥!
10/23 21:46, 5F

10/23 23:12, , 6F
form_for(@user) 看一下產生出來form的html原始碼
10/23 23:12, 6F

10/23 23:16, , 7F
再搭配ihower的網址中的RESTful表格
10/23 23:16, 7F

10/23 23:31, , 8F
10/23 23:31, 8F

10/23 23:31, , 9F
謝謝
10/23 23:31, 9F

10/28 01:32, , 10F
Ruby版感覺似乎和諧多了~ XD
10/28 01:32, 10F

10/28 20:25, , 11F
以前不和諧嗎?
10/28 20:25, 11F
文章代碼(AID): #1Cmevhja (Ruby)
文章代碼(AID): #1Cmevhja (Ruby)