我正在尝试从视图中输入一个URL并将其传递给我的控制器并将其设置为等于变量。我现在正在尝试它,但它只是一直没有回来。
这是控制器/帖子:
def run
url = params[:url_toget]
puts url
doc = Nokogiri::HTML(open(url))
post = Post.create do |post|
post.body = doc.at_css("body")
post.url_toget = url
end
end
这是观点帖子:
<div class="form-group">
<%=text_field :url_toget, class:"form-control", placeholder:"Recipe URL" %>
</div>
<%= link_to "Rake", posts_run_path %>
如何输入URL并将其传递给该变量?
答案 0 :(得分:0)
您无法直接将视图中的变量设置到控制器,但您可以从视图中发布请求。
像:
<%= form_tag( '/run' ) do %>
<%= text_field_tag 'my_url' %>
<%= submit_tag %>
<% end %>
然后在您的控制器运行操作中访问参数:p params[:my_url]
请记住为路由中的运行操作启用POST方法:post 'run', to: 'your_controller#run'