0
是跟着邁克爾·哈特爾的教程和一個問題,我有是我不斷收到此錯誤爲我的節目頁面視圖,我有:Rails是否按照它們寫入的順序或某種順序調用方法?
<% provide(:title, @user.name) %>
<div class="row">
<aside class="span4">
<section>
<h1>
<%= gravatar_for @user %>
<%= @user.name %>
</h1>
</section>
</aside>
</div>
現在在我的用戶控制我不得不下的顯示方法的建立和當我得到這個錯誤新方法:
class UsersController < ApplicationController
def new
@user = User.new
end
def create
@user = User.new(user_params)
if @user.save
flash[:success] = "Welcome to the Sample App!"
redirect_to @user
else
render 'new'
end
end
end
def show
@user = User.find(params[:id])
end
private
def user_params
params.require(:user).permit(:name, :email, :password, :password_confirmation)
end
所以後來當我刪除從展會方法,並把它的製作方法我停下得到錯誤之上。那麼,rails是否以某種順序調用方法?只需要幫助理解爲什麼。
顯示方法的上方移動創建:
class UsersController < ApplicationController
def new
@user = User.new
end
def show
@user = User.find(params[:id])
end
def create
@user = User.new(user_params)
if @user.save
flash[:success] = "Welcome to the Sample App!"
redirect_to @user
else
render 'new'
end
end
end
private
def user_params
params.require(:user).permit(:name, :email, :password, :password_confirmation)
end
以上是方法定義,而不是方法調用。順序無關緊要。由於User.find不成功,你得到了一個無@名稱 - 你去了一個不存在的用戶的網址。 – PSkocik 2014-10-08 00:48:06