Ruby on rails 通过显示页面更新模型属性
我希望允许用户通过模型的显示页面更新模型的属性,然后提交以显示更新的属性<代码>:startdate和Ruby on rails 通过显示页面更新模型属性,ruby-on-rails,forms,model,update-attributes,Ruby On Rails,Forms,Model,Update Attributes,我希望允许用户通过模型的显示页面更新模型的属性,然后提交以显示更新的属性:startdate和:enddate位于购物车.rb型号的my属性可访问列表中。根据日志,它看起来像是使用enddate和startdate,但没有设置它。有什么想法吗?非常感谢 carts\u controller.rb def show @cart = Cart.find(params[:id]) end def update @cart = Cart.find(params[:id]) respond_to
:enddate
位于购物车.rb
型号的my属性可访问列表中。根据日志,它看起来像是使用enddate和startdate,但没有设置它。有什么想法吗?非常感谢
carts\u controller.rb
def show
@cart = Cart.find(params[:id])
end
def update
@cart = Cart.find(params[:id])
respond_to do |format|
if @cart.update_attributes(params[:cart])
format.html { redirect_to(@cart, :notice => 'Dates Set.') }
format.xml { head :ok }
end
end
end
<%= form_for @cart do %>
From <%= text_field_tag :startdate %> </br>
To <%= text_field_tag :enddate %>
<%= submit_tag "Set Dates", :method => :put %>
<% end %>
Rental Dates: <%= @cart.startdate %> <%= @cart.enddate %>
carts/show.html.erb
def show
@cart = Cart.find(params[:id])
end
def update
@cart = Cart.find(params[:id])
respond_to do |format|
if @cart.update_attributes(params[:cart])
format.html { redirect_to(@cart, :notice => 'Dates Set.') }
format.xml { head :ok }
end
end
end
<%= form_for @cart do %>
From <%= text_field_tag :startdate %> </br>
To <%= text_field_tag :enddate %>
<%= submit_tag "Set Dates", :method => :put %>
<% end %>
Rental Dates: <%= @cart.startdate %> <%= @cart.enddate %>
问题是您没有正确地使用表单\u来表示。以下是生成表单的方式:
<%= form_for @cart do |f| %>
From <%= f.text_field :startdate %> <br>
To <%= f.text_field :enddate %>
<%= f.submit "Set Dates" %>
<% end %>
从
到
您不需要在此处使用:方法
,非常感谢。这很好地更新了页面。你知道我如何保存calendar jQuery下拉列表(我相信是由text\u field\u标记触发的)?元素看起来还是一样,只是有不同的ID。只需调整jQuery选择器,它就会工作。