[英]Template is missing - rails
這是我的html.erb文件。
缺少模板缺少模板頁面/驗證,使用{:locale => [:en] 、: formats => [:html] 、: variants => [] 、: handlers => [:erb,:builder, :raw,:ruby,:coffee,:jbuilder]}。 在以下位置搜索:*“ / home / spritle / web-beerboard-menu / app / views” *“ /var/lib/gems/2.3.0/gems/devise-4.2.0/app/views”
<%= form_tag({:controller=>"pages", :action=>"verify"}, method: :get) do %>
<div class="row">
<div class=" col-lg-4 col-xs-4 col-sm-4 " >
<label for="q">Enter date of Birth</label>
</div>
</div>
<div class="row">
<div class=" col-lg-4 col-xs-4 col-sm-4" >
<input id="dob" name="dob" type="date" class="form-control" required /> </div>
</div>
<div class="row">
<div class=" col-lg-4 col-xs-4 col-sm-4" >
<%= submit_tag 'Go', name: nil %> </div>
</div>
<% end %>
這是我的控制器文件
def verify
currentdate = Time.now.strftime("%Y-%m-%d")
dateofb = Date.parse(params[:dob]).strftime("%Y-%m-%d")
date = (currentdate.to_date - dateofb.to_date).to_i
end
該錯誤與日期解析無關。 它說Template is missing
。
您必須為您的verify
方法添加模板或添加渲染/重定向。
to_date
需要以dd/mm/yyyy
或yyyy/mm/dd
currentdate = Time.now.strftime("%Y-%d-%m")
currentdate.to_date
但是current_date
是yyyy-dd-mm
格式,這導致
ArgumentError:無效日期
將current_date更改為
currentdate = Time.now.strftime("%Y-%m-%d")
也,
第二個問題是您需要添加pages/verify.html
或pages/verify.js
來verify
PagesController
您調用Pages#verify,服務器需要為您返回一些響應。 該錯誤表明您未指定要返回的內容。 也許您想渲染一些頁面( render :action
)? 還是redirect_to some_path
? 或者,也許您想用dob返回一些json? 那么您需要使用render json: {date_of_birth: date}
完成您的控制器操作render json: {date_of_birth: date}
您當前的錯誤是由模板文件的命名引起的。 我不知道您要用html顯示什么文件,但是您要鏈接進行驗證以及發布的操作。 如果您要從另一個頁面發送數據,並且想要在verify
-action中執行某項操作,則必須這樣做,並且具有一個稍后將顯示的verify.html.erb模板,或者一個´redirect_to or
in your
verify-action in your
redirect_back。
可能看起來像這樣,將用戶送回表單提交之前的來源(以及回root_path
(不過,可能還應該是其他內容))。
def verify
currentdate = Time.now.strftime("%Y-%m-%d")
dateofb = Date.parse(params[:dob]).strftime("%Y-%m-%d")
date = (currentdate.to_date - dateofb.to_date).to_i
redirect_back fallback_location: root_path
end
另一種方法是創建views/pages/verify.html.erb
以在提交表單后呈現。
在控制器中,方法驗證應:
執行某種驗證並
默認情況下,如果不提供顯式重定向,Rails會嘗試在/ views / application或/ views / pages /中找到名稱為verify.html.erb的頁面視圖(假設您的控制器名為Page_controller.rb)。
永遠不會忘記:當您在控制器中添加新方法並將表單重定向到該方法時,您需要提供顯式重定向(失敗和成功)或使用創建特定視圖並使用隱式名稱約定 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.