Rails新手在这里......请善待......
我有一个应用程序,可以生成一个独特的文本段落(从数组中采样,并根据_form.html.erb中输入的条件使其唯一,从条件/新页面呈现)。在条件/显示页面上,我有2个链接,一个使用相同的标准生成一个新的唯一段落,另一个返回到表单并编辑标准。
对于第二个链接,我想保留先前输入的条件,因为用户可能只想更改一个条目而不必重新输入所有条目。我找到了很多关于ajax调用的信息,respond_to,remote:true,但是没有找到这个确切的答案,或者如果我有,我的大脑是TIRED并且无法理解。
我在类似的问题(How to come back to form without reset the values?)中看到了关于重新填充数据的建议:“只需将参数(/ myForm?param1 = 1& param2 = 2& param3 = 3)添加到按钮url返回搜索表单。然后使用参数填充字段。不需要使用会话变量。“可悲的是,我不清楚如何实现这一点。
有人请非常友好地指导我(最好是最简单!)这样做的方式吗?
显示页面上的当前链接(评论的内容是我尝试失败的内容:
<%= link_to 'Generate Another!', criteria_path %> #regenerates text with current criteria
<%= link_to 'Enter New Information', new_criterium_path %> #this is the link I'm trying to change
<%#= link_to 'Enter New Information', new_criterium_path, :remote => true %>
<%#= link_to 'Enter New Information', { :controller => 'Criteria', :action => "new" } :remote => true %>
控制器新动作(注释直到我可以使其工作):
def new
@criterium = Criterium.new
#testing ajax stuff
# respond_to do |format|
# format.html
# format.json
# end
端
有很多关于需要new.js.erb文件(或者说是show.js.erb?)和我的show(?)页面中的div标签的讨论,但是再次,大脑TIRED。我尝试过其中的一些东西,然后从代码中删除,以免误解太多而且无法记住我做了什么。
请告诉我你还需要我还有什么才能回答。非常感谢提前!
答案 0 :(得分:0)
看起来你需要将params传递给你的'new'动作,然后在实例化Criterium时使用它们:
<%= link_to 'Enter New Information', new_criterium_path(criteria: params[:criteria]) %>
def new
@criterium = Criterium.new(criteria: params[:criteria])
end