Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在不离开页面的情况下编辑帖子_Ruby On Rails_Ajax - Fatal编程技术网

Ruby on rails 在不离开页面的情况下编辑帖子

Ruby on rails 在不离开页面的情况下编辑帖子,ruby-on-rails,ajax,Ruby On Rails,Ajax,我试图在不离开物理页面的情况下编辑页面上的micropost 在我的应用程序中,我有一个页面,该页面使用以下部分呈现用户的所有MicroPost: micropost/_micropost: <%= render 'shared/edit_micropost', object: micropost %> <%= micropost.title %> <%= micropost.content %> <%= micropost.url %> <

我试图在不离开物理页面的情况下编辑页面上的micropost

在我的应用程序中,我有一个页面,该页面使用以下部分呈现用户的所有MicroPost:

micropost/_micropost:

<%= render 'shared/edit_micropost', object: micropost %>
<%= micropost.title %>
<%= micropost.content %>
<%= micropost.url %>
<%= raw "Tags: #{micropost.tag_list.map {|t| link_to t.capitalize, tag_path(t)}}" %>
<%= link_to "edit", object, remote: true %>
<%= form_for object do |object| %>
    <%= object.text_field :title %>
    <%= object.text_area :content %>
    <%= object.text_field :url %>
    <%= object.text_field :tag_list %>
    <%= object.submit "Update", class: "btn btn-mini" %>
<% end %>

共享/编辑\u微成本:

<%= render 'shared/edit_micropost', object: micropost %>
<%= micropost.title %>
<%= micropost.content %>
<%= micropost.url %>
<%= raw "Tags: #{micropost.tag_list.map {|t| link_to t.capitalize, tag_path(t)}}" %>
<%= link_to "edit", object, remote: true %>
<%= form_for object do |object| %>
    <%= object.text_field :title %>
    <%= object.text_area :content %>
    <%= object.text_field :url %>
    <%= object.text_field :tag_list %>
    <%= object.submit "Update", class: "btn btn-mini" %>
<% end %>

当我单击“编辑”时,我希望表单出现,以便特定micropost的标题、内容、url和tag_列表可以编辑

现在,当我单击“编辑”时,我没有得到任何路由匹配[get]“/microposts/452”我不确定如何在我的链接中指定工作路径。我想我必须将表单_移动到JS文件


我是编程新手,非常感谢您的帮助。

一个简单的方法是在页面上呈现表单,但用javascript隐藏表单。然后,当用户单击按钮时,再次显示它。这样,表单也可供未启用js的用户使用


然后,只需在表单中设置
remote:true
选项,使其通过ajax提交,并使用ajax回调通知用户成功或失败(如果需要)。同样,这种方法仍然允许非js用户使用普通请求提交表单,而启用js的用户将获得灵活的ajax功能。

有一个gem,您可能想试试它,”,这是一个基于jQuery的ajax Inplace编辑器


还有Ryan Bates的for it

,但是如何将变量传递到表单中?