Ruby on rails 通过显示页面更新模型属性

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

我希望允许用户通过模型的显示页面更新模型的属性,然后提交以显示更新的属性<代码>: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 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选择器,它就会工作。