我有一个带有simple_form gem的表单。如果我使用锚标记对浏览器中的网址进行数字处理:
localhost:3000/contacts/#new_contact #show me the correct form in the page
这是我的控制者:
class ContactsController < ApplicationController
def index
@message = Contact.new()
end
def create
@message = Contact.new(msg_params)
@message.request = request
if @message.deliver
redirect_to contacts_path , flash: { success: 'Ok' }
else
render action: :index #how can i render the new_contact anchor??
end
rescue ScriptError
redirect_to contacts_path , flash: { error: 'spam' }
end
private
def msg_params
params.require(:contact).permit(:name,:email,:message,:spam)
end
end
这是我的表格:
<%= simple_form_for @message, defaults: { label: false} do |f| %>
<%= f.input :name %>
<%= f.input :email %>
<%= f.input :message, :as => :text,input_html: { rows: 7 } %>
<div class="hidden">
<%= f.input :spam, :hint => 'Leave this field blank!' %>
</div>
<%= f.button :submit, 'Send', class: 'btn-block btn-success btn-lg' %>
<% end %>
如何使用render方法显示new_contact锚点?
答案 0 :(得分:1)
您无法使用render
修改锚标记。实际上,render
与URI没有任何关系。
您可以使用现有链接链接到“/ url#anchor”,重定向,或使用javascript来达到同样的效果。
如果未在表单上设置锚本身,您可能还需要添加:id => 'anchor'
。