这是我在stackoverflow上的第一篇文章!我警告你,我刚开始学习Ruby on Rails。
目前,我正在使用rails进行音乐扫描项目。我正在尝试处理硬盘上的音乐。为此,用户可以在应用程序的配置部分内添加要扫描的文件夹。所以我在YAML文件中存储了我的应用程序的所有配置。
我创建了一个'config'控制器,目前包含2个视图:“adddir”和“index”。 索引视图显示通过加载YAML配置文件(由控制器'config'完成)收集的所有参数。
接下来,我想让用户可以添加要扫描的新文件夹。所以我做了一个到'adddir'视图的静态路由:
routes.rb文件:
match "/config/adddir" => "config#adddir"
现在,我想创建一个获取用户提供的路径的表单,并将其添加到YAML文件中。
所以我的问题是:如何创建一个能够使用我在用户点击提交按钮时创建的方法config#addfolder的表单?
我希望这很清楚。 最好的问候
答案 0 :(得分:0)
欢迎来到SO。这是一个非常基本的问题。看看截屏视频吧。首先制作一个简单的项目(使用模型),然后您将看到Rails的ABC。
http://rubyonrails.org/screencasts/rails3/
基本上:
您生成控制器,如:
rails g controller config adddir
设置控制器,视图和路线。
然后进入您的视图文件夹并查看内部配置。有 adddir.html.erb 。您需要更改此文件,例如表单。
您可以打开表单:
http://localhost:3000/config/adddir
rake routes
将打印出您可以使用的可用路线列表(在表单内)。
现在神奇的是,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
看看这里: