作为图片,我想用嵌套资源制作页面。
我的计划是
所以我想创建一个页面(如果1user创建第一个游览并将3放入tour_day)
本地主机:3000 /旅游/ 1 /天/ 1
本地主机:3000 /旅游/ 1 /天/ 2
本地主机:3000 /旅游/ 1 /天/ 3
(如果1位用户创建第二次巡视并将2放入tour_day)
本地主机:3000 /旅游/ 2 /天/ 1
本地主机:3000 /旅游/ 2 /天/ 2
当用户将号码放入tour_day并点击tour_view中的提交按钮时,我想自动创建这些页面
我已经完成了创建嵌套资源并抛出数据但我无法清楚地表达...;(
我嵌套资源和创建额外的控制器(day_controller)的原因是我想添加推荐功能(推荐给谁无法制定时间表)...
实际上,我想制作像airbnb(创建房间流程)的页面
(我正在做正确的过程吗??)
tour_controller
class ToursController < ApplicationController
before_action :set_tour, only:[:show, :edit, :update]
before_action :authenticate_user!, except:[:show]
def index
@tours = current_user.tours
end
def show
end
def new
@tour = current_user.tours.build
end
def create
@tour = current_user.tours.build(tour_params)
i = 0
if @tour.save
redirect_to new_tour_day_path(@tour.id, @day), notice: "Saved Your Tour Courses"
else
render :new
end
end
def edit
end
def update
if @tour.update(tour_params)
redirect_to edit_tour_day_path(@tour.id, @day), notice: "Updated Your Tour Courses"
else
render :edit
end
end
private
def set_tour
@tour = Tour.find(params[:id])
end
def tour_params
params.require(:tour).permit(:tour_title, :tour_theme, :tour_summary, :tour_language, :tour_day, :tour_member, :tour_car, :tour_camera, :price)
end
end
day_controller
class DaysController < ApplicationController
before_action :set_tour
before_action :set_day, only: [:show, :edit, :update]
before_action :authenticate_user!, except:[:show]
def index
end
def show
end
def new
@tour = current_user.tours.find(params[:tour_id])
@day = @tour.days.build
end
def create
@tour = current_user.tours.find(params[:tour_id])
@day = @tour.days.build(day_params)
if @day.save
redirect_to edit_tour_day_path(@tour.id, @day), notice: "Saved Your Tour Courses"
else
render :new, notice: "Errors"
end
end
def edit
end
def update
if @day.update(day_params)
redirect_to edit_tour_day_path(@day), notice: "Updated Your Tour Courses"
else
redner :edit
end
end
private
def set_tour
@tour = Tour.find(params[:tour_id])
end
def set_day
@day = Day.find(params[:id])
end
def day_params
params.require(:day).permit(:day_number)
end
end
tour_view(测试页)
<div class="container">
<%= form_for @tour, :html => { multipart: true } do |f| %>
<div class="col-md-3 select">
<div class="form-group">
<label>Maximum Tour Day</label>
<%= f.select :tour_day, [["1",1], ["2",2], ["3",3], ["4",4]], prompt: "Select...", class: "form-control" %>
</div>
</div>
<div class="actions">
<%= f.submit "save", class: "btn btn-primary" %>
</div>
<% end %>
</div>
day_view(测试页)
<div class="container">
<%= form_for [:tour, @day] do |f| %>
<label>day_number</label>
<%= f.text_field :schedule_, class: "form-control" %>
<div class="actions">
<%= f.submit "Save", class: "btn btn-primary"%>
</div>
<% end %>
</div>
另外** 在日视图里面 我想创建日程安排 image
当我点击图标时,表格会出现并使用ajax制作详细的旅行计划。 我怎样才能创建这个函数?
----
这是我的第一个网络编程项目,我很困惑
PLZ ...给我一些(很多)帮助......
----
即时通讯使用rails 5.0.0.1和rails 2.3.1