【发布时间】:2022-08-19 18:24:49
【问题描述】:
我正在创建一个表单,如果用户输入一个 URL,我的代码将返回一个图像 url。 结果成功后,我想更新显示图像的部分而不重新加载页面
在我的控制器中
def receive_url
img_path = ProcessUrl.new.parse_url(params[:submitted_url])
end
在我看来
<div>
<%= form_tag({controller: \"get_url\", action: \"receive_url\"}, method: :post, remote: true) do %>
<%= label_tag \"Enter Url\" %>
<%= text_field_tag \"submitted_url\", nil, placeholder: \'Enter search url...\'%>
<%= button_tag \"Publish\", class: \'button\', data: { disable_with: \"Please wait..\" } %>
<% end %>
</div>
<%= render :partial => \'image\', locals: { stored_url: @stored_url } %>
在我的部分 _image.html.erb
<div>
<% if @stored_url != nil %>
<a href=\"<%= @stored_url %>\" >
<div id=\"background_image\" style=\"height: 300px; width: auto; background-image: url(<%= @stored_url %>); background-repeat: no-repeat\"></div>
</a>
<% end %>
</div>
我需要在控制器中做什么才能传入@stored_url
-
请告诉我们您拥有的 Rails 版本。因为使用 Rails 7 Turbo 很容易做到。如果您的 Rails 应用程序较旧,您打算使用 Jquery 还是 Javascript?另外,当您在视图中传递本地
stored_url时,为什么您的局部变量有一个实例变量@stored_url?
标签: ruby-on-rails ruby ajax