0
뷰에서 URL을 입력하고이를 내 컨트롤러로 전달하고 변수를 동일하게 설정하려고합니다. 나는 이것을 현재처럼 노력하고 있지만 그것은 단지 nil을 계속 반환한다.레일 뷰에서 컨트롤러 변수를 수동으로 설정하는 방법
이 컨트롤러/게시물입니다 :
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이 그 변수를 동일하게 통과 한 수?
인스턴스 변수 만 전달됩니다
p params[:my_url]
하는 경로에서 실행 조치에 대한 POST 메소드를 사용하는 것을 잊지 마십시오 컨트롤러 =>보기에서, 그 반대는 아닙니다. 정보를 양식의 매개 변수로 전달하고'params '를 사용하여 제어기에서 읽어야합니다. 'link_to'가 text_field에서 정보를 전달하지 않는 것 같습니다. 도움이 필요하면 레일 양식을 읽어보십시오. –
Nokogiri를 사용하여 자신의 HTML을 구문 분석합니까? –