簡體   English   中英

使用Rails 4 date_field傳遞參數

[英]Passing Parameters Using Rails 4 date_field

下面是我正在尋找的HTML5輸出。 目標是將參數從下拉日歷傳遞到我的控制器,並使用選定的輸入刷新頁面。

<form action="/cats/<%=@cats.number_id %>">
    <input type="date" name="as_of_date" id="as_of_date" value="<%= Time.parse(@as_of).strftime("%Y-%m-%d") %>">
    <input type="submit" value="Re-calculate">
</form> 

我注意到根據http://apidock.com/rails/v4.0.2/ActionView/Helpers/FormHelper/date_field,date_field幫助器的格式是這樣的:

@user.born_on = Date.new(1984, 1, 27)
date_field("user", "born_on", value: "1984-05-12")
# => <input id="user_born_on" name="user[born_on]" type="date" value="1984-05-12" />

除了這一點,我不知道如何有效地使用date_field幫助器。

在Rails中,通常會使用form_for助手來生成表單。 然后,您可以在該表單內使用date_field幫助器,如下所示:

<%= form_for @cat do |f| %>
  <%= f.date_field :as_of_date %>
  <%= f.submit 'Re-calculate' %>
<% end %>

在控制器中,您可以將@cat初始化為名為CatActiveRecord模型的實例。 這不會完全生成您想要的內容,但希望足夠接近:

<form class="edit_cat" id="edit_cat_89" action="/cats/89" accept-charset="UTF-8" method="post">
    <input name="utf8" type="hidden" value="✓">
    <input type="hidden" name="_method" value="patch">
    <input type="hidden" name="authenticity_token" value="kdCpL...wEDA==">
    <input value="2015-10-13" type="date" name="cat[as_of_date]" id="cat_as_of_date">
    <input type="submit" name="commit" value="Re-calculate">
</form>

如果日期不是貓的屬性,則可能需要使用以下內容:

<%= form_for "/cats/#{cat_id}" do |f| %>
  <%= date_field_tag :as_of_date, Date.new(2015, 10, 13) %>
  <%= f.submit 'Re-calculate' %>
<% end %>

HTH!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM