0

这是我在stackoverflow上的第一篇文章!我警告你,我刚开始学习 Ruby on Rails。

目前,我正在 Rails 中进行音乐扫描项目。我正在尝试处理硬盘上的所有音乐。为此,用户可以在应用程序的配置部分中添加要扫描的文件夹。所以我将我的应用程序的所有配置存储在一个 YAML 文件中。

我创建了一个“配置”控制器,目前包含 2 个视图:“adddir”和“index”。索引视图显示通过加载 YAML 配置文件(由控制器“配置”完成)收集的所有参数。

接下来,我想为用户提供添加新文件夹进行扫描的可能性。所以我做了一个到“adddir”视图的静态路由:

routes.rb 文件:

match "/config/adddir" => "config#adddir"

现在,我想创建一个获取用户提供的路径的表单,并将其添加到 YAML 文件中。

所以我的问题是:如何创建一个能够使用我在用户单击提交按钮时创建的方法 config#addfolder 的表单?

我希望这足够清楚。最好的祝福

4

1 回答 1

0

欢迎来到 SO。这是一个非常基本的问题。只需看一下截屏视频。先做一个简单的项目(带模型),然后你会看到 Rails 的基础知识。

http://rubyonrails.org/screencasts/rails3/

基本上:

您生成控制器,如:

rails g controller config adddir

这将设置控制器、视图和您的路线。

然后进入您的视图文件夹并查看配置。有adddir.html.erb。您需要以某种形式更改此文件。

您可以打开您的表格:

http://localhost:3000/config/adddir

耙路线

将打印您可以使用的可用路线列表(在您的表格内)。

现在神奇的是 Rails 会生成你的config_adddir_path(观看_path)。您可以使用它来连接表单。

<%= form_tag(config_adddir_path, :method => "get") do %>
  <%= label_tag(:q, "Folder:") %>
  <%= text_field_tag(:q) %>
  <%= submit_tag("index") %>
<% end %>

在您的控制器内部(def adddir):

您可以访问参数:

def adddir
  logger.debug params.inspect
end

看看这里:

http://guides.rubyonrails.org/form_helpers.html

于 2012-08-21T19:10:33.063 回答