Shell命令未由rails操作执行

时间:2014-06-18 07:46:37

标签: ruby-on-rails ruby shell ruby-on-rails-4

我对铁轨上的红宝石和红宝石很新,所以请原谅我,如果这听起来对你来说非常微不足道。 我想在我的rails应用程序的按钮单击上运行shell命令。我已经创建了所需的视图和操作,还更新了我的routes.rb文件以发布到所需的视图。我还在我的模型中定义了一个函数,它最终会执行shell命令。一切运行顺利,工作流程按计划进行,但命令不会执行。此外,该应用程序显示没有错误。以下是我各自的模型,动作和控制器的片段。我在Ubuntu 12.04 LTS上使用Rails 4.1.1和Ruby-2.1.2。

这是我的路线文件。我已经覆盖了从/post到'目录#create_directory'的默认directory#create路由。

Rails.application.routes.draw do


match '/directories', to: 'directories#create_directory', via: 'post'

resources :directories 

模型:我想要执行的命令在此函数中指定。

class Directory < ActiveRecord::Base
 def self.create_directory
  `mkdir dummy_dir`
 end
end

自定义控制器操作

def create_directory
  @directory = Directory.create_directory
end

新目录视图(使用脚手架生成) - 这是我们点击创建新目录选项后从索引页面着陆的页面。我添加了button_to,点击它会将我重定向到自定义操作create_directory

<h1>New Directory</h1>

<%= button_to "Create Directory", 
url_for( :action => "create_directory", :controller=> :directories ),:remote=>true %>

<%= link_to 'Back', directories_path %>

我还为create_directory动作创建了一个虚拟视图。我最终落在这个观点上。 好吧,一切都运行顺利,没有任何错误,但目录没有创建。关于我可能出错的地方的任何建议。 提前致谢

0 个答案:

没有答案