【发布时间】:2014-12-29 01:06:41
【问题描述】:
我对 Rails 很陌生,我想为某个页面动态设置我的链接。我有一个名为“未完成”的表,它有一个名为“链接”的列(从“链接”更正)我希望能够在视图中调用“链接”记录来设置我的 link_to 链接路径。
我正在尝试这样做......
<%= link_to @unfinished.link(:p => @post.id) do %> FINISH <% end %>
...但这不起作用。
我的控制器说:
def show
@post = Post.find(params[:id])
@unfinished = Unfinished.where('progress = ?', @post.progress).last
end
控制器逻辑工作正常...直到我尝试将@unfinished.link 放入link_to
编辑: 错误信息:
wrong number of arguments (1 for 0)
型号
class Unfinished < ActiveRecord::Base
end
链接的类型是:
step1_path
step2_path
step3_path
我正在制作一个多页表单,您可以在中途保存。根据@post.progress 列中的值(如 1、2、3),将提供完成帖子的正确路径(step1_path、step2_path 等...)
【问题讨论】:
-
您收到什么错误信息?未完成的模型是什么样子的?你说它有一个链接列,你的链接方法在未完成时是什么样子的。请发布该代码..
-
我不明白你所说的“未完成的链接方法”是什么意思......但我发布了其他所有内容。
-
你有一个未完成的模型?你说它有一个名为链接的列。但是您正在调用一个名为
link的方法,并传入一个散列,其中:p 设置为post.id。您的未完成模型是否没有您定义的称为链接的方法?如果不是,那是问题的一部分,因为 ActiveRecord 将寻找 Unfinished#links 来访问该字段(它不使用列上的变形器)。 -
它叫“链接”……一开始我写错了。它应该在寻找 Unfinished#link 并且列名是“link”。
标签: ruby-on-rails dynamic link-to