0
發佈表單詳細信息時,我有一個基本的Sinatra應用程序。在Heroku上運行NameError - 未定義的局部變量或方法`user_details'爲#<Sinatra :: Application:0x0000000381bde0>:
NameError當我得到這個錯誤,尤其是 - 未定義的局部變量或方法`user_details'爲#:
MYE POST方法:
post "/" do
user_details = UserDetails.new(params["name"], params["email"])
if user_details.valid?
begin
worksheet.insert_rows(worksheet.num_rows+1, [user_details.to_row])
worksheet.save
erb :thanks
rescue
erb :index
end
else
erb :index
end
end
查看:
<form action="/" method="POST">
<div class="form-group<%= 'has-error' if user_details.errors.include?(:name) %>">
<label for="name" class="control-label">Name</label>
<input type="text" class="form-control" name="name" id="name" value="<%= user_details.name %>">
<% user_details.errors.full_messages_for(:name).each do |message| %>
<span class="help-block"><%= message %></span>
<% end %>
</div>
</form.
日誌說它找不到user_details
VA rible在第一個div塊/類。
任何想法?
thanks.erb
<div class="jumbotron">
<div class="container">
<div class="row">
<div class="col-md-12">
<h1>Thanks!</h1>
<p>We'll let you know when our platform is ready. Stay tuned!</p>
</div>
<div class="col-md-4">
<a href="/"><button type="submit" class="btn btn-primary">Back</button></a>
</div>
</div>
</div>
</div>
驚人,THX tbuehlmann。不幸的是,這個thanks.erb文件並沒有在Heroku上渲染。它在本地運行,但不在部署到Heroku時運行。我將該文件保存在views/thanks.erb中。相關代碼見上文。 – JohnSmith
我無法複製它。你能提供一個我可以推送到Heroku並測試的存儲庫嗎? – tbuehlmann
對不起,剛做了一個簡短的git介紹,這裏提前https://github.com/johnsmith1212/12 thx! – JohnSmith