1
from
とto
回確認したいと思います。 from
>to
の場合、エラーを表示したいと思います。Rails:時間を比較してエラーを表示する方法は?
コードを編集するにはどうすればよいですか?私はcover
、include
でいくつかのコードを試してみましたAlthogh
、私は私のコードに適用することはできませんでした。
<%= f.label :title %>
<%= f.text_field :title, class: 'form-control' %>
<br>
<%= f.label :departure_date %>
<div class="input-group date" id="datetimepicker">
<%= f.text_field :departure_date, :value => (f.object.departure_date.strftime('%b/%d/%Y') if f.object.departure_date), class: 'form-control' %>
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
<script type="text/javascript">
$(function() {
$('#datetimepicker').datetimepicker({format:'MMM-DD-YYYY'});
});
</script>
<br>
<div id="room">
<%= f.simple_fields_for :rooms do |a| %>
<div id="room_<%= a.object.object_id %>">
<p class="day-number-element-selector"><b>Day <%= a.index.to_i + 1 %></b></p>
<%= a.simple_fields_for :events do |e| %>
<span class="form-inline">
<p>
<%= e.input :from, label: false %>
<%= e.input :to, label: false %>
</p>
</span>
<%= e.input :title, label: false %>
<% end %>
</div>
<%= a.link_to_add "Add event", :events, data: {target: "#room_#{a.object.object_id}"}, class: "btn btn-primary" %>
<%= a.input :room %>
<% end %>
</div>
_schedule_form.html.erb
schema.rb
...
create_table "events", force: :cascade do |t|
t.time "from"
t.time "to"
...
schedules_controller.rb
...
def new
@schedule = Schedule.new
room = @schedule.rooms.build
schedule.events.build
end
def create
@schedule = current_user.schedules.build(schedule_params)
if @schedule.save
flash[:success] = "schedule created!"
redirect_to root_url
else
render 'new'
end
end
def edit
@day_max = Room.where("schedule_id = ?", @schedule.id).maximum(:day)
end
def update
@schedule.rooms.maximum(:day)
if @schedule.update(schedule_params)
flash[:success] = "schedule updated!"
redirect_to root_url
else
render 'edit'
end
end
Iエラーを確認して表示する方法を教えていただけたら幸いです。
@Ronnaさん、ありがとうございました。できます!!! – SamuraiBlue
私は注意深く見ましたので、 'Rooms events base To time to time to'のようなモデル名がこのエラーに含まれています。 「時間はあとでする必要があります」だけを表示するにはどうすればよいですか? 'errors [:base]'( 'e'を取り除く)のようなコードを試しましたが、結果は同じです。あなたは私にヒントを与えていただければ幸いです。あなたの答えを受け入れた後、@Ronnaに再度尋ねて申し訳ありません。 – SamuraiBlue
ここをクリックしてください:http://api.rubyonrails.org/classes/ActiveModel/Errors.html#method-i-add、person.errors.add(:name、 'must be implemented')、多分e.errors.add (:から、 "時間は時間から後である必要があります")、これはおそらくあなたのフォームの適切なフィールドにうまく対応します。いいえ? – Ronna