来自Ruby on Rails表单的用户输入

时间:2015-04-26 05:07:50

标签: ruby-on-rails ruby embedly

我试图在我的rails应用中获取用户输入值(:url)。我相信它的

params[:user_input]

但我不知道如何将它实现到我的控制器中。我可以将它放在任何地方或以特定方法放置吗?

方式

 def index
 @posts = Post.all

 embedly_api = Embedly::API.new :key => '', :user_agent => 'Mozilla/5.0 (compatible; mytestapp/1.0; my@email.com)'
 url = params[:user_input]
 @obj = embedly_api.extract :url => :user_input
end

如何获取user_input url,以便将其传递给hash ???

2 个答案:

答案 0 :(得分:2)

您应该将代码更改为:

def index
   @posts = Post.all

   embedly_api = Embedly::API.new :key => '', :user_agent => 'Mozilla/5.0      (compatible; mytestapp/1.0; my@email.com)'
   @obj = embedly_api.extract :url => params[:user_input]
end

答案 1 :(得分:0)

params哈希包含HTML表单控件名称与用户提供的值的映射。您可以使用params[key_name]访问每个。

在您的情况下,我认为您想要从params[:url]创建一个局部变量。没关系。但是你就这样使用它。

def index
  @posts = Post.all
  embedly_api = Embedly::API.new :key => '', :user_agent => 'Mozilla/5.0 (compatible; mytestapp/1.0; my@email.com)'
  url = params[:url]
  @obj = embedly_api.extract :url => url
end

但是,局部变量不是必需的,因此您可以通过删除局部变量并执行此操作来使代码稍微简洁:

@obj = embedly_api.extract :url => params[:url]