【问题标题】:Can I have both index and create actions in the index view?我可以在索引视图中同时拥有索引和创建操作吗?
【发布时间】:2010-04-27 13:00:57
【问题描述】:

使用博客 webapp 的常年示例(所有资源当前都自动映射到 routes.rb 中):

我有一个简单的索引页面,列出了我所有的帖子标题。我想在此页面底部添加一个表单以快速创建新帖子。

我是 Rails 新手,似乎无法弄清楚这一点!请帮忙!

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    尝试类似:

    <% form_for Post.new do |form| %>
    
    (Insert fields here:)    
    
    <%= form.label :fieldname %>
    <%= form.text_field :fieldname %>
    
    <%= form.submit "Create" %>
    
    <% end %>
    

    将此添加到app/views/posts/index.html.erb

    【讨论】:

    • 跟进:因此 Home 控制器有 2 个操作:“索引”和“创建”。 “索引”操作列出了一些帖子,并在底部有一个表单来创建新帖子。当您在这里创建帖子时,它似乎没有使用 Home 控制器中的“创建”操作,而是使用 Post 控制器中的操作?如果帖子是在哪里创建的,我怎样才能让它使用 Home 控制器中的“创建”操作?我猜想在 routes.rb 中需要更改一些内容?
    • 您可以为相关表单创建一个特定的路由,并执行类似form_for Post.new, :url =&gt; { :controller =&gt; "home", :action =&gt; "create" } 的操作。
    【解决方案2】:

    是的,您在索引视图中同时拥有索引和创建操作。

    在 index.html.erb 中显示列表,然后创建新帖子。

    创建新帖子后仅重定向到索引操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-09
      • 1970-01-01
      • 2022-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-22
      • 1970-01-01
      相关资源
      最近更新 更多