在rails中提交表单并生成一个html {#id}

时间:2013-12-19 02:58:41

标签: ruby-on-rails forms

我有一个表单,我不想通过ajax或jquery提交表单,以便在提交时添加会在浏览器中为url生成一个id,这样当页面重新加载时会自动将scrowl下载到页面上的id < / p>

我的表格是

<%= form_for([activity, activity.talks.build],remote: true) do |f| %>
                    <%= f.text_field :details, :class=>"input-block-level", :placeholder=>"write a comment" %>

                <% end%> 

<ul id="chat">
          <%= render activity.talks %>
        </ul>

我对此表单的创建操作是

def create

    @activity = Activity.find(params[:activity_id])
    #@message = Message.create!(params[:message])
    @talk = @activity.talks.create!(talk_params)
    @talk.user = current_user
    @talk.save
    redirect_to user_path(current_user)

  end 

感谢...

2 个答案:

答案 0 :(得分:0)

如果您希望页面滚动到页面中的特定点,您可以创建一个html锚点并将其作为选项传递给路径生成器

例如尝试

redirect_to user_path(current_user, , :anchor => "user_#{current_user.id}")

但也要确保你有:

<a name="user_<%= user.id %>"</a>

在每个用户的页面上。

答案 1 :(得分:0)

我不确定我是否理解,但你不应该首先重定向到talk_path而不是user_path吗?因为我假设你想重定向到谈话页面。 Taryn说应该工作,只需进行适当的更改即可链接到您想要的位置。我肯定会删除

remote: true

从表格中。 with remote:true你不会得到任何重定向