将值从一个模型传递到另一个模型

时间:2016-12-07 08:53:31

标签: ruby-on-rails ruby

我有三个模型,UserServiceBooking。用户可以预订服务,这可以通过Booking模式下的表单完成。

我有一个可供预订的服务的页面,其中的链接显示"立即预订"并重定向到new_bookings_path,以便用户可以预订。

我想要什么时候#34;现在预订"单击链接,以便能够将存储为数据库中的记录的服务值(标题,价格等)传输到新的预订表单。因此,当用户填写预订表格时,他们能够看到他们实际预订的服务。

这是我预订的_form.htm.erb

<%= simple_form_for (@booking) do |f| %>
    Booking Date: <%= f.datetime_select :date %>
    <br>
    Time start<%= f.time_select :timestart %>
    <br>
    Time end <%= f.time_select :timeend %>
    <%= f.input :address, label: "Address" %>
    <%= f.input :postcode, label: "Postcode" %>
    <%= f.input :suburb, label: "Suburb" %>
    <br>
    <br>

    <br><br>
    <%= f.button :submit %>
<% end %>

我想要做的是放置类似

的内容
<%= @service.title %> 

在预订的底部,虽然我不知道如何访问用户点击的服务标题&#34;立即预订&#34;上。

是否有可能获得服务的价值,并以某种方式在预订控制器/ _form下访问它们&#34;立即预订&#34;单击链接?

这是&#34;立即预订&#34;链接:

<%= link_to "Book Now", new_booking_path %>

1 个答案:

答案 0 :(得分:2)

将服务ID传递给new_booking_path

<%= link_to "Book Now", new_booking_path(service_id: @service.id) %>

new的{​​{1}}行动中,获取服务:

BookingsController

然后,您可以在表单视图页面中执行def new @service = Service.find_by_id(params[:service_id]) #your code goes here end